易语言如何实现窗口半透明?

易语言如何实现窗口半透明?,第1张

设置窗口透明度 “(_启动窗口.取窗口句柄 (), 100) ”,数字为透明度,设置为50就是半透明。

(1)易语言是一门计算机程序设计语言,也通常代指与之对应的集成开发环境,其特点是通过汉语进行编程。

(2)易语言功能强大实用,现已具有数十个各种应用范围支持库、上百个数据类型和界面组件、近万条支持命令,支持现今所有数据库,功能丝毫不比其它同类产品差。模块化开发支持大型软件项目的分工协作,易语言中的模块称为易模块。通过使用易模块,用户可以将常用的代码封装起来重复使用到其它程序,或提供给第三方使用,或用作开发大型软件项目中的某个部分,然后在软件项目的封装阶段将所有这些模块组织编译成为一个完整程序。

(3)易语言系统全部自行设计开发。自有编译器。所编译目的程序运行速度快,且没有安全隐患。自带小型数据库,减少开发项目投入成本,且容易学习。跨 *** 作系统平台编程。同时支持Windows和Linux程序开发。中文本地化支持。支持中文格式日期和时间处理、汉字发音处理、全半角字符处理、人民币金额处理、农历日期转换等。

.版本

2

设置窗口

(_启动窗口.取窗口句柄

(),

-20,

位或

(取窗口风格

(_启动窗口.取窗口句柄

(),

-20),

524288))

设置透明

(_启动窗口.取窗口句柄

(),

#白色,

0,

1)

如果弄成这样的话就透明启动窗口了,把_启动窗口改成分组框又不能透明,怎么让分组框单独透明呢?

DLL命令如下

.版本

2

.DLL命令

设置透明,

整数型,

"user32",

"SetLayeredWindowAttributes",

,

,设置窗口或组件透明

,,,,

.参数

hWnd,

整数型,

,

透明窗口句柄

.参数

crKey,

整数型,

,

掩码颜色,可用RGB(r,g,b)设定

.参数

bAlpha,

整数型,

,

不透明度范围(0,255),0.全透;255.不透明

.参数

dwFlags,

整数型,

,

透明方式,1.掩码颜色透明,2.窗口全部透明

.DLL命令

取窗口风格,

整数型,

,

"GetWindowLongA",

,

如果函数成功,返回值是所需的32位值;如果函数失败,返回值是0

,,

.参数

hWnd,

整数型,

,

窗口句柄,及间接给出的窗口所属的窗口类

.参数

nlndex,

整数型,

,

指定要获得值的大于等于0的值的偏移量

.DLL命令

设置窗口,

整数型,

,

"SetWindowLongA",

,

设置窗口属性,,,

.参数

hWnd,

整数型,

,

窗口句柄,及间接给出的窗口所属的类

.参数

nlndex,

整数型,

,

指定要获得值的大于等于0的值的偏移量

.参数

dwNewLong,

整数型,

,

指定的替换值

相关API函数:

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

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

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

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,

整数型

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

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

.版本

2

.子程序

__启动窗口_创建完毕

.局部变量

rtn,

整数型

rtn

GetWindowLong

(取窗口句柄

(),

-20)

SetWindowLong

(取窗口句柄

(),

-20,

位或

(rtn,

524288))

SetLayeredWindowAttributes

(取窗口句柄

(),

底色,

0,

1)

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

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

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

.版本

2

.子程序

__启动窗口_创建完毕

.局部变量

rtn,

整数型

rtn

GetWindowLong

(取窗口句柄

(),

-20)

SetWindowLong

(取窗口句柄

(),

-20,

位或

(rtn,

524288))

SetLayeredWindowAttributes

(取窗口句柄

(),

底色,

120,

2)

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

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

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

.版本

2

.子程序

__启动窗口_创建完毕

.局部变量

rtn,

整数型

rtn

GetWindowLong

(取窗口句柄

(),

-20)

SetWindowLong

(取窗口句柄

(),

-20,

位或

(rtn,

524288))

SetLayeredWindowAttributes

(取窗口句柄

(),

底色,

120,

3)

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

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


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

原文地址: https://outofmemory.cn/tougao/7783536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存