易语言API创建窗口详解源码

易语言API创建窗口详解源码

易语言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

相关推荐

dizz萌拍相机软件下载-dizz萌拍相机app免费版下载安装v1.2.3
365bet体育在线网址

dizz萌拍相机软件下载-dizz萌拍相机app免费版下载安装v1.2.3

📅 08-03 👁️ 6384
探访神奇生物“贝类大明星”砗磲(下)
365会提款不成功吗

探访神奇生物“贝类大明星”砗磲(下)

📅 07-08 👁️ 7208
【辅助触控】iPhone 小白点好用吗? 怎么开启或关闭? 设定教学
dnf在哪个npc赌马
365会提款不成功吗

dnf在哪个npc赌马

📅 06-27 👁️ 9614
有红色的砭石吗?砭石到底有几种颜色?
bat365bet

有红色的砭石吗?砭石到底有几种颜色?

📅 08-03 👁️ 6304
我要上观网
bat365bet

我要上观网

📅 07-15 👁️ 5743