易语言如何用API实现窗口透明

 时间:2026-02-15 23:48:29

1、相关API函数:

GetWindowLong:获得有关指定窗口的信息;

SetWindowLong:改变指定窗口的属性;

SetLayeredWindowAttributes:设置分层窗口透明度。

2、DLL命令表:

1.

.版本 2

.DLL命令 GetWindowLong, 整数型, "user32.dll", "GetWindowLongA"

    .参数 hwnd, 整数型

    .参数 nlndex, 整数型

2.

.版本 2

.DLL命令 SetWindowLong, 整数型, , "SetWindowLongA"

    .参数 hwnd, 整数型

    .参数 nIndex, 整数型

    .参数 dwNewLong, 整数型

3.

.版本 2

.DLL命令 SetLayeredWindowAttributes, 逻辑型, , "SetLayeredWindowAttributes"

    .参数 hwnd, 整数型

    .参数 crKey, 整数型

    .参数 bAlpha, 字节型

    .参数 dwFlags, 整数型

3、SetLayeredWindowAttributes参数简介:

hwnd:窗口句柄;

crKey:需要透明的颜色值;

bAlpha:透明度,取值范围0~255,0表示完全透明,255表示完全不透明;

dwFlags:透明方式。

其中,参数dwFlags可取以下值:

LWA_ALPHA:参数crKey(颜色值)无效,参数bAlpha(透明度)有效;

LWA_COLORKEY:窗体中所有颜色为crKey的地方完全透明,参数bAlpha(透明度)无效;

LWA_ALPHA|LWA_COLORKEY:窗体中所有颜色为crKey的地方完全透明,其他地方根据参数bAlpha确定透明度。

易语言十进制中,#LWA_ALPHA=2,#LWA_COLORKEY=1,位或 (#LWA_ALPHA, #LWA_COLORKEY)=3

4、透明方式一:窗口底色完全透明,控件完全不透明。源码如下。

.版本 2

.子程序 __启动窗口_创建完毕

.局部变量 rtn, 整数型

rtn = GetWindowLong (取窗口句柄 (), -20)

SetWindowLong (取窗口句柄 (), -20, 位或 (rtn, 524288))

SetLayeredWindowAttributes (取窗口句柄 (), 底色, 0, 1)

效果如下:上图为正常窗口,下面为透明窗口。

注:窗口底色不能使用默认底色。

易语言如何用API实现窗口透明

易语言如何用API实现窗口透明

5、透明方式二:窗口半透明。源码如下。

.版本 2

.子程序 __启动窗口_创建完毕

.局部变量 rtn, 整数型

rtn = GetWindowLong (取窗口句柄 (), -20)

SetWindowLong (取窗口句柄 (), -20, 位或 (rtn, 524288))

SetLayeredWindowAttributes (取窗口句柄 (), 底色, 120, 2)

效果如下:上图为正常窗口,下图为透明窗口。

注:窗口底色不能使用默认底色。

易语言如何用API实现窗口透明

易语言如何用API实现窗口透明

6、透明方式三:窗口底色完全透明,控件半透明。源码如下。

.版本 2

.子程序 __启动窗口_创建完毕

.局部变量 rtn, 整数型

rtn = GetWindowLong (取窗口句柄 (), -20)

SetWindowLong (取窗口句柄 (), -20, 位或 (rtn, 524288))

SetLayeredWindowAttributes (取窗口句柄 (), 底色, 120, 3)

效果如下:上图为正常窗口,下图为透明窗口。

注:窗口底色不能使用默认底色。

易语言如何用API实现窗口透明

易语言如何用API实现窗口透明

  • 易语言全局变量、程序集变量和局部变量的区别
  • 魔兽世界暗影国度怎么接任务
  • 易语言教程-[4]画板 画直线
  • 易语言窗口界面如何添加超级列表框
  • 易语言编辑框怎么换行?
  • 热门搜索
    affection什么意思 风流果的功效与作用 大惊失色的意思 什么是诺亚方舟 什么叫伪娘 会计初级考什么 什么人不能带貔貅 商誉是什么意思 985和211大学是什么意思 百合粉的功效与作用