易语言编程开发教程之使用windows api创建窗口
工具/原料
registerclass(用于注册窗口类信息)在创建窗口前要使用其先登记窗口类信息
createwindow(用于创建窗口)
showwindow(显示窗口)
defwindowproca 必须有否则窗口将不会由变化且见不到窗口
dispatchmessage(派发系统消息)
getmessage(获取系统消息)
sendmessage 发送消息
getmodulehandlea 获取模块句柄,很有用
translatemessage 翻译消息,将虚拟消息转换为字符消息
方法/步骤
打开易语言软件,创建windows控制台程序,通过Eapi助手依次插入上面的dll,及自定义数据类型(在插入dll的同时一般都会自动插入),在这里只会用到一个自定义数据类型WNDCLASS,如图
ps:1.若有MSG数据类型,将其删除,dll函数里面的MSG统统都改为整型数据类型
2.WNDCLASS 的回调函数那一栏将其类型改为”子程序指针“
创建全局变量
1.定义一个全局文本型变量”类名“,将在第三步、五步使用
2.定义一个全局整数型型变量”模块句柄“,将在第三步、五步使用
创建子程序”登记窗口类“
ps:1.里面有个”窗口类.类名“,即为那个全局变量
2..里面有个”窗口类.模块句柄“,即为那个全局变量
创建回调函数(函数名自定义)
格式 返回类型 整数型
参数1 整数型 句柄
参数2 整数型 消息
参数3 整数型 附加参数
参数4 整数型 附加参数
每一个返回处要注意使用defwindowproca函数 如图
ps:defwindowproca函数的第一个参数为句柄,一定要用回调函数里面的参数1的值,不要用其他的,否则会创建窗口失败
创建子程序”创建窗口“
在这里面最重要的就是使用dll”createwindow“函数了
其参数里面的第二个参数”类名“,即为之前创建的全局变量”类名“;
参数”模块句柄“,即是前面定义的全局变量”模块句柄“
第三个参数为窗口标题,即显示在窗口标题栏的东西;
其他参数”菜单句柄“、”父窗口句柄“、”附加参数“皆可为0
写启动子程序(即系统自行创建的那个子程序),如图
定义好全局变量的值
7
以上ok后,点击菜单栏的”程序“点击”配置“,将”windows控制台程序“更改为”windows窗口程序“。
新闻热点
疑难解答