|
分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |
本帖最后由 神女软件定制 于 2022-6-10 15:09 编辑
看到这个帖子:https://bbs.125.la/thread-14733447-1-1.html
跟着写了个
变量名 | 类 型 | 静态 | 数组 | 备 注 | rc | RECT | | | hwnd | 整数型 | | | data | 整数型 | | | 比例 | 字节型 | | 4 | left | 整数型 | | | top | 整数型 | | | sn_GetClientRect (cs_父窗口句柄, rc )hwnd = sn_GetWindow (cs_父窗口句柄, 5 ) 判断循环首 (hwnd ≠ 0 )data = sn_GetWindowLong (hwnd, -21 ) 比例 [1 ] = 右移 (data, 24 )比例 [2 ] = 右移 (data, 16 )比例 [3 ] = 右移 (data, 8 )比例 [4 ] = data left = rc.Right × 比例 [1 ] ÷ 255 top = rc.Bottom × 比例 [2 ] ÷ 255 sn_MoveWindow (hwnd, left, top, rc.Right × 比例 [3 ] ÷ 255 - left, rc.Bottom × 比例 [4 ] ÷ 255 - top, 1 )比例调节 (hwnd )hwnd = sn_GetWindow (hwnd, 2 ) 判断循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | rc | RECT | | | hwnd | 整数型 | | | rcChild | RECT | | | 比例 | 字节型 | | 4 | t | 字节型 | | | r | 字节型 | | | b | 字节型 | | | sn_GetClientRect (cs_父窗口句柄, rc )hwnd = sn_GetWindow (cs_父窗口句柄, 5 ) 判断循环首 (hwnd ≠ 0 )sn_GetWindowRect (hwnd, rcChild )sn_ScreenToClient_X (cs_父窗口句柄, 取变量地址 (rcChild.Left )) sn_ScreenToClient_X (cs_父窗口句柄, 取变量地址 (rcChild.Right )) 比例 [1 ] = rcChild.Left × 255 \ rc.Right 比例 [2 ] = rcChild.Top × 255 \ rc.Bottom 比例 [3 ] = rcChild.Right × 255 \ rc.Right 比例 [4 ] = rcChild.Bottom × 255 \ rc.Bottom sn_SetWindowLong (hwnd, -21, 位或 (左移 (比例 [1 ], 24 ), 左移 (比例 [2 ], 16 ), 左移 (比例 [3 ], 8 ), 比例 [4 ])) 记录控件比例 (hwnd )hwnd = sn_GetWindow (hwnd, 2 ) 判断循环尾 ()
只有这两个函数,
_启动窗口创建完毕的时候,调用“记录控件比例”,会把指定窗口的所有子窗口包括子子窗口的,坐标比例,记录下来,没有用到变量,信息记录到对应窗口的附加数据了。
0-255。左顶右底,4个255
窗口尺寸改变的时候,调用“比例调节”。
另外推荐下这个:
完美的窗口布局模块,动态布局控件
https://bbs.125.la/forum.php?mod=viewthread&tid=14707438
(出处: 精易论坛)
这个可以精细的指定每个控件的排版规则,当然不是懒人专用了,麻烦一点。
控件比例调节.e
(11.81 KB, 下载次数: 211)
|
评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 好帖|主题: 1239, 订阅: 44
- · 精品特辑|主题: 746, 订阅: 16
- · 实用轮子|主题: 17, 订阅: 0
|