易语言API创建窗口详解源码
系统结构:创建窗口,注册窗口类,WindowProcess,LocalSize_取内存大小,RegisterClassEx_注册窗口类,GetModuleHandle_取模块句柄,DefWindowProc,CreateWindowEx_创建窗口,GetMessage,TranslateMessage,DispatchMessage,
======程序集1
| |
| |------ _启动子程序
| |
| |------ 创建窗口
| |
| |------ 注册窗口类
| |
| |------ WindowProcess
| |
| |
======调用的Dll
| |
| |---[dll]------ LocalSize_取内存大小
| |
| |---[dll]------ RegisterClassEx_注册窗口类
| |
| |---[dll]------ GetModuleHandle_取模块句柄
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ CreateWindowEx_创建窗口
| |
| |---[dll]------ GetMessage
| |
| |---[dll]------ TranslateMessage
| |
| |---[dll]------ DispatchMessage
调用的DLL命令:
.DLL命令 LocalSize_取内存大小, 整数型, "kernel32", "LocalSize", , 返回本地内存块大小
.参数 hMem, WNDCLASSEX
.DLL命令 RegisterClassEx_注册窗口类, , "user32", "RegisterClassExA", , 该函数为随后在调用Createwindow函数和CreatewindowEx函数中使用的窗口注册一个窗口类。
.参数 pcWndClassEx, WNDCLASSEX
.DLL命令 GetModuleHandle_取模块句柄, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 整数型, , 指向程序模块的名称(可以是.DLL或是.exe文件),如果没有后缀名,则默认是.dll。若为0则取本程序的模块向柄。
.DLL命令 DefWindowProc, 整数型, "user32", "DefWindowProcA", , 调用缺省窗口过程
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 CreateWindowEx_创建窗口, 整数型, "user32", "CreateWindowExA", , 建立窗口
.参数 dwExStyle, 整数型, , 指定窗口的扩展风格。
.参数 lpClassName, 文本型, , 指向一个空结束的字符串,它指定了窗口的类名。这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名,如按钮(Button)、静态(Static)、编择(Edit)、滚动条(ScrollBar)、列表框(ListBox)、组合框(ComboBox)、日期(SysDateTimePick32)、月历(SysMonthCal32)、热键(msctls_hotdey32)、列表(SysListView32)。参考对话框定义。 如果应用程序创建一个MDI客户窗口,则使用由Windows预先注册的类 "MDICLIENT"
.参数 lpWindowName, 文本型, , 窗口的标题,结尾不能有空格
.参数 dwStyle, 整数型, , 指定创建窗口的风格。该参数属性可以参考下列 dwStyle
.参数 x, 整数型, , 定义窗口的X坐标
.参数 y, 整数型, , 定义窗口的Y坐标
.参数 nWidth, 整数型, , 定义窗口的宽度
.参数 nHeight, 整数型, , 定义窗口的高度
.参数 hWndParent, 整数型, , 指向被创建窗口的父窗口。若要创建一个子窗口或一个被属窗口,需提供一个有效的窗口句柄。如果是父窗口,可以为0
.参数 hMenu, 整数型, , 菜单句柄,或依据窗口风格指明一个子窗口标识,没有就0
.参数 hInstance, 整数型, , 与窗口相关联的模块事例的句柄。,没有就0
.参数 lpParam, 整数型, , 指向一个值的指针,该值传递给窗口 WM_CREATE消息。该值通过在lParam参数中的CREATESTRUCT结构传递。如果应用程序创建一个MDI客户窗口,则lpParam必须指向一个CLIENTCREATESTRUCT结构。 一般为NULL,一般为0
.DLL命令 GetMessage, 整数型, "user32", "GetMessageA", , 从线索消息队列中返回一条消息
.参数 lpMsg, MSG
.参数 hwnd, 整数型
.参数 wMsgFilterMin, 整数型
.参数 wMsgFilterMax, 整数型
.DLL命令 TranslateMessage, 整数型, "user32", "TranslateMessage", , 转换虚拟关键字消息
.参数 lpMsg, MSG
.DLL命令 DispatchMessage, 整数型, "user32", "DispatchMessageA", , 向窗口发送消息
.参数 lpMsg, MSG
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。