易语言简易图解教程_第10章.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:14 大小:1.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

易语言简易图解教程_第10章.pdf

易语言简易图解教程_第10章.pdf

预览

免费试读已结束,剩余 4 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第10章API函数的应用API函数,也称DLL命令,是Windows系统外部动态链接库(即DLL库)中的命令。和VB,VC一样,易语言对API也有很好的支持。API是Windows的基础,学会使用API就可以实现Windows绝大部分的功能。本章学习内容:10.1如何定义API函数10.3外部DLL库的应用10.2API函数的综合应用10.4课后练习10.1如何定义API函数易语言中,使用一个API函数前(也称DLL命令),首先要对该函数进行定义,定义DLL命令涉及到以下主要属性:Dll命令名、返回值类型、Dll库文件名、Dll命令在Dll库中对应的函数名、Dll命令参数。196下面用一个可以取出当前所有窗口句柄的例程,来进一步了解DLL命令的定义方法和使用。①添加一个按钮组件,并将标题改成“列出桌面所有子窗口的窗口句柄”。②添加一个列表框组件。197注意:API资料如何查找?Windos中的DLL命令有很多,网上也有许多API的资料包括帮助文档,列出了常用的API函数。使用API之前,可以先上网下载一个API帮助文档。下面会用到1个DLL命令:FindWindowExA,这个命令可以在窗口列表中寻找与指定条件相符的第一个子窗口。④新建一个DLL命令。DLL命令名:指定DLL命令在易语言中使用时的名称,可以自定义,最好是选一个方便识别的名称。DLL库文件名:DLL命令所在的DLL库文件名。按照API资料来填写,不可以自定义。在DLL库中对应文件名:与上边“DLL命令名”所指定的DLL命令对应的DLL库文件中相应的API函数名(即API函数的原名)。按照API资料来填写,不可以自定义。API资料中描述的,有几个参数,就添加几个参数,并且各参数的类型和位置要和资料中的相一臻,但参数名可以自定义。198从API的帮助文件里可以查出User32是DLL库文件名,FindWindowExA是API函数原名。这里有四个参数的类型与说明。⑥双击按钮,在“_按钮1_被单击”事件子程序中输入如下代码:列表框1.清空()hWnd=取子窗口句柄(0,0,0,0)判断循环首(hWnd≠0)⑤新建一个整列表框1.加入项目(到文本(hWnd),)数型的变量。hWnd=取子窗口句柄(0,hWnd,0,0)判断循环尾()用判断循环首命令,循环取出当前所有子窗口的窗口句柄。199按下F5键运行程序,点击按钮后,列表框就列出了所有子窗口的窗口句柄了。10.2API函数的综合应用用API函数,可以实现很多特殊的效果,下面练习用3个DLL命令实现窗体的透明效果。本例程中用到了3个DLL命令,分别是:GetWindowLong:从指定窗口的结构中取得信息。SetWindowLong:在窗口结构中为指定的窗口设置信息。SetLayeredWindowAttributes:设置窗体的透明色。200①添加一个滑块条组件。②将滑块条的刻度类型属性设置成“下/右”。③对这3个DLL命令进行定义。201如果库文件名是:Kernel32.dll、Gdi32.dll、User32.dll、Mpr.dll、Advapi32.dll,填写时可以省略,系统会自动搜索。注意:API函数中常量的使用使用DLL命令时,会有一些参数用到API中的常量,这些常量可以使用API常量查询工具查找,并在易语言中使用自定义常量进行定义,使用时可以用常量名(记得在常量名前加上“#”号),也可以直接将常量值添入参数中。④双击“_启动窗口”,产生“_启动窗口_创建完毕”事件子程序,然后新建一个整数型变量Ret。⑤在子程序下输入代码:Ret=GetWindowLong(取窗口句柄(),-20)Ret=位或(Ret,524288)SetWindowLong(取窗口句柄(),-20,Ret)SetLayeredWindowAttributes(_启动窗口.取窗口句柄(),0,255,#LWA_ALPHA)202⑥在滑块条的事件列表中选择“位置被改变”事件,产生“_滑块条1_位置被改变”事件子程序。⑦在子程序下输入代码:SetLayeredWindowAttributes(_启动窗口.取窗口句柄(),0,滑块条1.位置,#LWA_ALPHA)运行程序,然后拖动滑块条,可以看到,窗体渐渐变的透明,直到完全透明。20310.3外部DLL库