网站首页 > 易语言相关 > 易语言例程 正文
.版本 2 .程序集 窗口程序集_窗口1 .子程序 _窗口1_创建完毕 .局部变量 hWnd, 整数型 hWnd = 取窗口句柄 () SetPropA (hWnd, “proc”, SetWindowLongW (hWnd, #GWL_WNDPROC, 到整数 (&WndProc))) ' 必须要子类化,不然实现不了 .子程序 WndProc, 整数型, , 窗口消息过程 .参数 hWnd, 整数型 .参数 uMsg, 整数型 .参数 wParam, 整数型 .参数 lParam, 整数型 .局部变量 minLeft, 整数型, , , 最小左边 .局部变量 maxLeft, 整数型, , , 最大左边 .局部变量 minTop, 整数型, , , 最小顶边 .局部变量 maxTop, 整数型, , , 最大顶边 .局部变量 minWidth, 整数型, , , 最小宽度 .局部变量 maxWidth, 整数型, , , 最大宽度 .局部变量 minHeight, 整数型, , , 最小高度 .局部变量 maxHeight, 整数型, , , 最大高度 .局部变量 nTmp, 整数型, , , 临时变量,记录读取出来的值 .判断开始 (uMsg = #WM_WINDOWPOSCHANGING) .如果真 (选择框1.选中) ' lParam 是 WINDOWPOS 结构,结构成员如下 ' 0 hWnd 窗口句柄 ' 4 hWndInsertAfter 层次 HWND_ 开头常量 ' 8 x 左边 ' 12 y 顶边 ' 16 cx 宽度 ' 20 cy 高度 ' 24 wFlags 标志SWP_开头常量 minLeft = 到整数 (编辑框_左边最小.内容) maxLeft = 到整数 (编辑框_左边最大.内容) minTop = 到整数 (编辑框_顶边最小.内容) maxTop = 到整数 (编辑框_顶边最大.内容) minWidth = 到整数 (编辑框_宽度最小.内容) maxWidth = 到整数 (编辑框_宽度最大.内容) minHeight = 到整数 (编辑框_高度最小.内容) maxHeight = 到整数 (编辑框_高度最大.内容) ' __set() __get() 这两个太TM好用了,配合 RtlMoveMemory()使用简直就是万能了 nTmp = __get (lParam, 8) ' 取结构里的第三个成员 0=第一个 4=第二个 8=第三个,因为都是整数,都占用4个字节,后面的一样,就不多说了 .判断开始 (minLeft ≠ -1 且 nTmp < minLeft) ' -1就当作是不限制 __set (lParam, 8, minLeft) ' 超过了我们设置的限制值,那就把限制的值写入到结构里 .判断 (maxLeft ≠ -1 且 nTmp > maxLeft) __set (lParam, 8, maxLeft) .默认 .判断结束 ' 能看懂一个就能看懂全部,后面的都一样,都是 Ctrl + C - Ctrl + V 然后修改一变量名和写入位置而已 nTmp = __get (lParam, 12) .判断开始 (minTop ≠ -1 且 nTmp < minTop) __set (lParam, 12, minTop) .判断 (maxTop ≠ -1 且 nTmp > maxTop) __set (lParam, 12, maxTop) .默认 .判断结束 nTmp = __get (lParam, 16) .判断开始 (minWidth ≠ -1 且 nTmp < minWidth) __set (lParam, 16, minWidth) .判断 (maxWidth ≠ -1 且 nTmp > maxWidth) __set (lParam, 16, maxWidth) .默认 .判断结束 nTmp = __get (lParam, 20) .判断开始 (minHeight ≠ -1 且 nTmp < minHeight) __set (lParam, 20, minHeight) .判断 (maxHeight ≠ -1 且 nTmp > maxHeight) __set (lParam, 20, maxHeight) .默认 .判断结束 .如果真结束 返回 (0) .判断 (uMsg = #WM_WINDOWPOSCHANGED) ' lParam 是 WINDOWPOS 结构,结构成员如下 ' 0 hWnd 窗口句柄 ' 4 hWndInsertAfter 层次 HWND_ 开头常量 ' 8 x 左边 ' 12 y 顶边 ' 16 cx 宽度 ' 20 cy 高度 ' 24 wFlags 标志SWP_开头常量 输出调试文本 (“左边:” + 到文本 (__get (lParam, 8)) + “ | 顶边:” + 到文本 (__get (lParam, 12)) + “ | 宽度:” + 到文本 (__get (lParam, 16)) + “ | 高度:” + 到文本 (__get (lParam, 20)) + “ | 读 lParam 这个内存地址的值”) 输出调试文本 (“左边:” + 到文本 (窗口1.左边) + “ | 顶边:” + 到文本 (窗口1.顶边) + “ | 宽度:” + 到文本 (窗口1.宽度) + “ | 高度:” + 到文本 (窗口1.高度) + “ | 读窗口左顶宽高的值”) ' 两个输出都是一样的 返回 (0) .默认 .判断结束 返回 (CallWindowProcW (GetPropA (hWnd, “proc”), hWnd, uMsg, wParam, lParam)) .子程序 __set, 整数型, , 请确保指针的合法性,写到内存 .参数 lpAddr, 整数型, , 内存地址 .参数 offset, 整数型, , 偏移 .参数 value, 整数型, , 写入值 置入代码 ({ 139, 93, 8, 139, 77, 12, 139, 4, 25, 139, 85, 16, 137, 20, 25, 201, 194, 12, 0 }) ' mov ebx,[ebp+8] ' mov ecx,[ebp+12] ' mov eax,[ebx+ecx] ' mov edx,[ebp+16] ' mov [ebx+ecx],edx ' leave ' ret 12 返回 (0) .子程序 __get, 整数型, , 请确保指针的合法性,读取内存 .参数 lpAddr, 整数型, , 内存地址 .参数 offset, 整数型, , 偏移 置入代码 ({ 139, 69, 8, 139, 93, 12, 139, 4, 24, 201, 194, 8, 0 }) ' mov eax,[ebp+8] ' mov ebx,[ebp+12] ' mov eax,[eax+ebx] ' leave ' ret 8 返回 (0)
@121007124
- 上一篇: 易语言窗口无边框调整尺寸,移动窗口
- 下一篇: 易语言快速排序 支持倒序
猜你喜欢
- 2022-04-26 易语言使用PDH(性能计数器) 监控CPU,内存,网络,磁盘
- 2020-05-22 小白易语言注册机视频教程合集
- 2020-05-05 一键备份易语言超级列表框数据
- 2020-04-23 易语言调用JsDroid2模块
- 2020-01-26 易语言ECC模块源码
- 2019-10-10 易语言多线程防崩溃例程
- 2019-09-02 易语言神奇网络验证系统
- 2019-09-02 易语言驱动开发教程(baby)
- 2019-08-25 易语言桌面透明背景时钟
- 2019-08-20 易语言多线程学习源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有4位网友发表了看法:
易语言教程站 评论于 [2019-10-31 22:12:00] 回复
易语言锁定窗口大小
编译成功 评论于 [2020-03-02 18:52:42] 回复
易语言窗口位置
易语言子程序 评论于 [2020-03-17 13:14:41] 回复
易语言左顶宽高
易语言 评论于 [2020-04-25 12:48:21] 回复
易语言窗口位置取显示器大小