易语言游戏窗口化
系统结构:取屏幕句柄,发送消息,改变窗口,寻找顶级窗口,置父窗口,置窗口状态,
======窗口程序集1
| |
| |------ __启动窗口_可否被关闭
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_鼠标右键被放开
| |
| |------ _退出_被选择
| |
| |------ _时钟1_周期事件
| |
| |
======调用的Dll
| |
| |---[dll]------ 取屏幕句柄
| |
| |---[dll]------ 发送消息
| |
| |---[dll]------ 改变窗口
| |
| |---[dll]------ 寻找顶级窗口
| |
| |---[dll]------ 置父窗口
| |
| |---[dll]------ 置窗口状态
调用的DLL命令:
.DLL命令 取屏幕句柄, 整数型, "user32", "GetDesktopWindow", , 获得代表整个屏幕的一个窗口(桌面窗口)句柄 桌面窗口的句柄
.DLL命令 发送消息, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 改变窗口, 整数型, "user32", "MoveWindow", , 改变指定窗口的位置和大小。顶级窗口可能受最大或最小尺寸的限制,那些尺寸优先于这里设置的参数 非零表示成功,零表示失败
.参数 窗口句柄, 整数型, , 欲移动窗口的句柄
.参数 左侧位置, 整数型, , 窗口新的左侧位置
.参数 顶部位置, 整数型, , 窗口新的顶部位置
.参数 新宽度, 整数型, , 窗口的新宽度
.参数 高宽度, 整数型, , 窗口的高宽度
.参数 是否重画, 逻辑型, , 如窗口此时应重画,则设为真(非零)。假(零)则表明应用程序会自己决定是否重画窗口;
.DLL命令 寻找顶级窗口, 整数型, "user32", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口类名, 整数型, , 指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
.参数 窗口标题, 文本型, , 指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 示例Dim hw&
.DLL命令 置父窗口, 整数型, "user32", "SetParent", , 指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) 前一个父窗口的句柄
.参数 子窗口句柄, 整数型, , 子窗口的句柄
.参数 父窗口句柄, 整数型, , hWndChild的新父;
.DLL命令 置窗口状态, 整数型, "user32", "ShowWindow", , 控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)
.参数 窗口句柄, 整数型, , 窗口句柄,要向这个窗口应用由nCmdShow指定的命令
.参数 窗口状态, 整数型, , 为窗口指定可视性方面的一个命令。请用下述任何一个常数;0隐藏窗口,活动状态给令一个窗口;1与9相同;2最小化窗口,并将其激活;3最大化窗口,并将其激活;4用最近的大小和位置显示一个窗口,同时不改变活动窗口;5用当前的大小和位置显示一个窗口,同时令其进入活动状态;6最小化窗口,活动状态给令一个窗口;7最小化一个窗口,同时不改变活动窗口;8用当前的大小和位置显示一个窗口,不改变活动窗口;9用原来的大小和位置显示一个窗口,同时令其进入活动状态;
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。