易语言复制挂接组件事件
系统结构:复制整个窗口,窗口初始化,默认窗口函数,子程序1,CreateWindowEx,DefWindowProc,GetModuleHandle,GetClassName,GetWindowLong,GetWindowRect,GetWindowText,GetWindowTextLength,LocalSize_WNDCLASSEX,RegisterClassEx,LoadCursor,SendMessage,LoadIcon,SetParent,GetClassLong,SetClassLong,DestroyWindow,OffsetRect,
======窗口复制程序集
| |
| |------ 复制整个窗口
| |
| |------ 窗口初始化
| |
| |------ 默认窗口函数
| |
| |
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮2_被单击
| |
| |------ 子程序1
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetClassName
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ GetWindowRect
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ GetWindowTextLength
| |
| |---[dll]------ LocalSize_WNDCLASSEX
| |
| |---[dll]------ RegisterClassEx
| |
| |---[dll]------ LoadCursor
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ SetParent
| |
| |---[dll]------ GetClassLong
| |
| |---[dll]------ SetClassLong
| |
| |---[dll]------ DestroyWindow
| |
| |---[dll]------ OffsetRect
调用的DLL命令:
.DLL命令 CreateWindowEx, 整数型, "user32", "CreateWindowExA", , 建立窗口
.参数 dwExStyle, 整数型
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.参数 dwStyle, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hWndParent, 整数型
.参数 hMenu, 整数型
.参数 hInstance, 整数型
.参数 lpParam, 整数型
.DLL命令 DefWindowProc, 整数型, "user32.dll", "DefWindowProcA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 整数型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 GetClassName, 整数型, "user32", "GetClassNameA", , 为指定的窗口取得类名 以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲获得类名的那个窗口的句柄
.参数 lpClassName, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符
.参数 nMaxCount, 整数型, , 由lpClassName提供的缓冲区长度;
.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA", , 从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲为其获取信息的窗口的句柄
.参数 nIndex, 整数型, , 欲取回的信息,可以是下述任何一个常数:;GWL_EXSTYLE:扩展窗口样式;GWL_STYLE:窗口样式;GWL_WNDPROC:该窗口的窗口函数的地址;GWL_HINSTANCE:拥有窗口的实例的句柄;GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值;GWL_ID:对话框中一个子窗口的标识符;GWL_USERDATA:含义由应用程序规定;DWL_DLGPROC:这个窗口的对话框函数地址;DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值;DWL_USER:含义由应用程序规定;
.DLL命令 GetWindowRect, 整数型, "user32", "GetWindowRect", , 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 lpRect, RECT, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 hwnd, 整数型, , 欲获取文字的那个窗口的句柄
.参数 lpString, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 cch, 整数型, , lp缓冲区的长度;
.DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA", , 调查窗口标题文字或控件内容的长短(在vb里使用:直接使用vb窗体或控件的caption或text属性) 字串长度,不包括空中止字符
.参数 hwnd, 整数型, , 想调查文字长度的窗口的句柄;
.DLL命令 LocalSize_WNDCLASSEX, 整数型, "kernel32.dll", "LocalSize"
.参数 参数一, WNDCLASSEX, 传址
.DLL命令 RegisterClassEx, 整数型, "user32", "RegisterClassExA", ,
.参数 pcWndClassEx, WNDCLASSEX
.DLL命令 LoadCursor, 整数型, "user32", "LoadCursorA", , 从指定的模块或应用程序实例中载入一个鼠标指针。LoadCursorBynum是LoadCursor函数的类型security声明 执行成功则返回已载入的指针的句柄;零表示失败。在Windows ; 95 和Win16环境中,这个函数只能载入标准尺寸的图标
.参数 实例句柄, 整数型, , 一个DLL的模块句柄;或者一个实例句柄,指定包含了鼠标指针的可执行程序
.参数 鼠标指针标识, 整数型, , 作为一个字串,指定欲载入的指针资源。作为一个长整数值,指定欲载入的资源ID;或者设置一个常数,代表某幅固有系统指针。如装载的是一个固有系统指针,注意hInstance参数应设为零。在api32.txt文件中以前缀IDC_ 作为标志;
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 LoadIcon, 整数型, "user32", "LoadIconA", , 从指定的模块或应用程序实例中载入一个图标。其中,LoadIconBynum是LoadIcon函数的类型security声明 执行成功则返回已载入的图标的句柄;零表示失败。会设置GetLastError
.参数 hInstance, 整数型
.参数 lpIconName, 整数型
.DLL命令 SetParent, 整数型, "user32", "SetParent", , 指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) 前一个父窗口的句柄
.参数 hWndChild, 整数型, , 子窗口的句柄
.参数 hWndNewParent, 整数型, , hWndChild的新父;
.DLL命令 GetClassLong, 整数型, "user32", "GetClassLongA", , 取得窗口类的一个Long变量条目 由nIndex决定。零表示出错。会设置GetLastError
.参数 窗口句柄, 整数型, , 要为其获得类信息的窗口的句柄
.参数 值, 整数型, , 欲取得的信息,可能是下述任何一个常数:(正数表示一个字节偏移,用于取得在额外字节中为这个类分配的类信息);GCL_CBCLSEXTRA:这个类结构中分配的额外字节数;GCL_CBWNDEXTRA:窗口结构里为这个类中每个窗口分配的额外字节数;GCL_HBRBACKGROUND:描绘这个类每个窗口的背景时,使用的默认刷子的句柄;GCL_HCURSOR:指向这个类窗口默认光标的句柄;GCL_HICON:这个类中窗口默认图标的句柄;GCL_HICONSM:这个类的小图标;GCL_HMODULE:这个类的模块的句柄;GCL_MENUNAME:为类菜单取得名称或资源ID;GCL_STYLE:这个类的样式;GCL_WNDPROC:取得类窗口函数(该类窗口的默认窗口函数)的地址;
.DLL命令 SetClassLong, 整数型, "user32", "SetClassLongA", , 为窗口类设置一个Long变量条目 由nIndex指定的的类信息的前一个值。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲为其设置类信息的那个窗口的句柄
.参数 nIndex, 整数型, , 参考GetClassLong函数的nIndex参数说明
.参数 dwNewLong, 整数型, , 类信息的新值,具体取决于nIndex;
.DLL命令 DestroyWindow, 整数型, "user32", "DestroyWindow", , 破坏(即清除)指定的窗口以及它的所有子窗口(在vb里使用:用处不大。原文:it ; is unlikely to be of much use.) 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 欲清除的窗口的句柄;
.DLL命令 OffsetRect, 整数型, "user32", "OffsetRect", , 该函数通过应用一个指定的偏移,从而让矩形移动起来。x会添加到右侧和左侧区域。y添加到顶部和底部区域。偏移方向则取决于参数是正数还是负数,以及采用的是什么坐标系统 非零表示成功,零表示失败。会设置GetLastError
.参数 lpRect, RECT, , RECT,欲移动的矩形
.参数 x, 整数型, , 水平偏移量
.参数 y, 整数型, , 垂直偏移量;
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。