
SetLayeredWindowAttributes
Public 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为掩码的颜色,可以用RGB(r,g,b)来指定。
bAlpha是不透明度,取值范围是(0,255),其中0代表全透明,255代表不透明。
dwFlags是透明方式,可以取两个值:
当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
LWA_ALPHA = 0x2
LWA_COLORKEY=0x1
也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。
要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性,方法:
先声明GetWindowLong和SetWindowLong
Dim rtn As Long
rtn = GetWindowLong(MehWnd, -20)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong MehWnd, -20, rtn我明白你的意思
是窗口透明控件不透明这个把
群我名字
一起交流
调用API
添加
DLL
命令
版本
2
DLL命令
设置透明,
整数型,
,
"SetLayeredWindowAttributes"
参数
hwnd,
整数型
参数
crkey,
整数型
参数
alpha,
字节型
参数
dwflags,
整数型
DLL命令
取窗口风格,
整数型,
,
"GetWindowLongA"
参数
hwnd,
整数型
参数
nindex,
整数型
DLL命令
设置窗口,
整数型,
,
"SetWindowLongA"
参数
hwnd,
整数型
参数
nindex,
整数型
参数
dwnewlong,
整数型
要让_启动窗口透明
版本
2
_启动窗口底色
=
#品红
设置窗口
(取窗口句柄
(),
-20,
位或
(取窗口风格
(取窗口句柄
(),
-20),
524288))
设置透明
(取窗口句柄
(),
#品红,
200,
1)
1,打开易语言,新建“Windows窗口程序”,点击“确定”按钮进入“Windows窗口”设计界面。如图:
2,在窗口上,绘制一个编辑框、一个按钮组件。调整相关组件的尺寸和位置。如图
3,修改相关组件的属性值并规范命名各组件的名称,以方便后续的代码编写。如图:
4,进入代码编写阶段,具体代码如图:
5,代码编写完毕,进入测试阶段。猛戳F5键,运行程序。填写编辑框数值,并点击“透明”按钮,查看效果。如图:
注意事项
1,编写程序代码时,一定要注意数据类型。
2,取窗口句柄()返回值为整数型。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)