易语言中如何实现编辑框透明,并且不穿透窗体!

易语言中如何实现编辑框透明,并且不穿透窗体!,第1张

用API函数。
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,取窗口句柄()返回值为整数型。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12603799.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存