说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用VisualBasic制作半透明窗体

HTML文档下载 WORD文档下载 PDF文档下载
用VisualBasic制作半透明窗体

作者:iProgram



函数SetLayeredWindowAttributes

  使用这个函数,可以轻松的实现半透明窗体。按照微软的要求,透明窗体窗体在创建时应使用WS_EX_LAYERED参数(用CreateWindowEx),或者在创建后设置该参数(用SetWindowLong),我选用后者。全部函数、常量声明如下:

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

   其中hwnd是透明窗体的句柄,crKey为颜色值,bAlpha是透明度,取值范围是[0,255],dwFlags是透明方式,可以取两个值:当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明--这个功能很有用:我们不必再为建立不规则形状的窗体而调用一大堆区域分析、创建、合并函数了,只需指定透明处的颜色值即可,哈哈哈哈!请看具体代码。

Private Const WS_EX_LAYERED = &H80000

Private Const GWL_EXSTYLE = (-20)

Private Const LWA_ALPHA = &H2

Private Const LWA_COLORKEY = &H1

代码一:一个半透明窗体

Private Sub Form_Load()

  Dim rtn As Long

  rtn = GetWindowLong(hwnd, GWL_EXSTYLE)

  rtn = rtn Or WS_EX_LAYERED

  SetWindowLong hwnd, GWL_EXSTYLE, rtn

  SetLayeredWindowAttributes hwnd, 0, 200, LWA_ALPHA

End Sub


代码二:形状不规则的窗体

Private Sub Form_Load()

  Dim rtn As Long

  BorderStyler=0

  rtn = GetWindowLong(hwnd, GWL_EXSTYLE)

  rtn = rtn Or WS_EX_LAYERED

  SetWindowLong hwnd, GWL_EXSTYLE, rtn

  SetLayeredWindowAttributes hwnd, &HFF0000, 0, LWA_COLORKEY ’将扣去窗口中的蓝色

End Sub
透过现象看本质:详谈数据可视化 专家观点:HTML5无法彻底抹杀Native应用 Google地图工程主管Raj Shah跳槽至微软在线服务部门 微软证实Windows 8.1引入类“开始”按钮 系统6月26日开放下载 PHP开发者意向调查:移动开发+云服务成为焦点 研发周报:16种折磨开发者的方式 移动周报:Jolla和Sailfish OS,那些你应该知道的事儿 优化技巧分享:把内存消耗降低至原来的1/20 85后程序员:独自一人,完成一个HTML5开源图形库 关于Waze的前世今生,你所不知道的事 代码审查——提高代码质量的终极武器 值得开发者关注的8个HTML5 API 最初设计方案大公开!LINE STAMP 贴图诞生记 安全宝联合华为成立抗D联盟 储备防御带宽达110G 专访中科院贾海鹏:给异构开发者的六个建议 我们死后的遗留数据将会如何处理? 传微软考虑重大重组 或势在必行 云适配CEO陈本峰:8年磨一剑 Splashtop企业应用:SplashApp让办公移动起来 时空旅行+内付费“植物大战僵尸2”下月18日全球同步发行! 中移动推网络电话Jego 后来者能否居上? 防止数据泄露:BYOD下的管理员5大妙招 咕咚副总裁司建铭谈移动时代的“软硬整合” 未来的物联网结点:可穿戴设备 应用开发的4个技巧,让程序能真正为用户使用 Google早期的10个API:它们现在在哪? 为啥微软开发产品总是慢半拍? Visual Studio 2013 Preview新功能预览 “中国手机游戏四月流水榜”出炉 超半数基于Cocos2d-x引擎 为移动而设计之信息架构篇 难逃厄运:Zynga将关闭Draw Something母公司OMGPOP 用VC写的dll在vb上怎么用? 这样的sql 怎样写 WIN2000和LINUX与APACHE的搭配的困惑 高分求助,各位进来帮一帮吧,有问题请教,急,急!!! 找不到包在线等 我就不相信CSDN没有高手,帖出代码求救!!! 在服务器端监视客户记录 怎样使用vc+soap kit调用web service,麻烦添加注解! 中国科普之我见(普鲁日尼科夫),一种局外人难得的评说,你一定要看! 怎么找到这个东西 jScrollPanel.getViewport这个里面的getViewport代表了什么?Viewport的作用是什么?谢谢 ███请问,如何判断"\\192.168.0.123\temp"这个目录是否存在?███ 谁可以告诉我如何通过msflexgrid实现查询? 高分相给! 迷茫啊................ 大家来看看1997--2002的历届Jolt震撼大奖名单~ mmqm.exe 篡改IE的问题。给分!! EJB设计模式.实战EJB.精通EJB......等等----一个超好网址 简单快速 资源不敢独占 拿出来分享 如何实现打印功能? 怎样才能填充由两条贝塞尔曲线围成的封闭区域,谢谢了 请教关于数据库连接的问题 在sstab控件上怎么动态添加控件! ★★★★★★应邀申请[专题开发]版主,谢谢大家支持!★★★★★★ 通过代理(采用XP自带internet共享)上网的奇怪问题! 怎样才能将3DMAX做的动画嵌入到DELPHI7中,各位求救啦!? 请教一个困扰我好长时间的问题? 【回复被误删,导致本人满性欲降低,悲痛欲绝,请版主回复本人性欲】 如何判断窗体已经Unload,但还没有成为Nothing? 怎样修改jboss-3.2.1_tomcat-4.1.24的端口号,请多指教 word文档怎么打不开 HELP!一道规划问题的优化! 问题描述(太长了,只好发到2个贴子) 怎么找到这个东西 怎样将一个16进制的数转换为2进制 刚接触vc,有关List Box控件的问题 你用手机上过网吗,怎么设置的? 你用手机上过网吗,怎么设置的? 为什么能安装98却装不了2000? QQ密码保护问题忘了……咋办? 如何在Jbuilder的数据驱动下拉菜单中得到微软的SQL server 驱动 如何解决系统“瓶颈”问题? 怎么用JExcelApi实现Excel图形呢?急!!! 求助,datagrid的一个简单问题? 如何实现打印的功能? 主板P4VXASD是否不支持DDR显存的显卡? 关于计算机四级的题目,请高手帮忙,谢谢 在动态调用DLL时,如何确定这个调用已经关闭! 帮我出出主意 谁可以告诉我如何用datagrid实现查询功能? 请教各位大虾 一个运行时错误,试过行了就结贴 GetExtendedStyle的返回值是dword类型的,请问他具体是什么类型? 哪有免费空间 小问题 ∫(1-x^2)^3/2dx ∫(x^3+x^2)^-1/2dx 描写舍不得吃的成语有哪些?就是舍不得吃! 一件衬衫的成本是40元.定价至少是多少元,这种衬衫打75折后卖出100件能盈利不少于500元? 新百伦it代购是什么意思 ∫(4-x^2)^1/2dx怎么解 ∫(4-x)^1/2dx 从0到2的积分怎么算 求积分1/(x^2+1)3/2dx打错了 应该是求积分1/(x^2+1)^3/2dx答案是x/(x^2+1)^1/2 商品成本45元,若50元卖出则能卖50个.若每涨1元销售量就减少2个.为了获取最大利润应以多少元卖出? 音响上的bass是什么?很多人说是低音,那他的具体作用是什么呢?(是把歌手的高音变得更低吗)? 某商品的进价为每件40元,售价为每件50元,每个月可卖出210件;如果每件商品的售价每上涨1元.则每个月少卖10件(每件售价不能高于65元).设每件商品的售价上涨元(为正整数),每个月的销售利 沙特不收联合国“大礼”伦敦股市23日下跌图文:钱江隧道开始扫尾 预计今年年底浙江发布一批高校干部任免信息中国全国政协副主席杜青林访问保加利亚视频:10岁男孩午夜被切断右手 扔进10岁杭州男孩被母亲男友砍去右手丢进少女黄鳝血放入下体冒充处女 敲诈嫖客21岁丽水姑娘惨遭男友碎尸 锯下人头18岁女子和男友吵架约见网友 被掐死伦敦股市股指23日下跌专家:中国家门不能总挂别人锁 信息业四川部分县城房价不断上涨 购房者弃县广州IFC登高挑战赛选手热身粤成品油价格今起每升下调6 7分今日开幕明年大幅减少专项转移支付大房企强者恒强韩企 首以国家展团形式参加明年中国航半岁大婴儿被抱走 母亲连州追到广州福田区启动科技金融信贷联通全省网络 升级至42M神兵行者英雄无敌之真相开启反抗在幻想乡我的无限翅膀至尊攻略都市妖战荣耀法师狂蟒之灾神医笔记穿入西游港岛制造庙子湖岛旅游半升洞码头旅游沈家门渔港旅游洛阳国花园旅游丽景门旅游关林旅游则查洼沟旅游八一公园旅游秋水广场旅游南昌之星旅游江西省博物馆旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘