|

我在开发exe的过程中遇到了自适应问题,在不同分辨率下得进行自适应,我搜了下别的自适应模块,感觉不太符合我的要求(可能是我不太会用)
我自己因为之前学过前端就大概写了个简易的自适应,但已经符合我的要求了,我就没有继续写更多。
以下是代码,
变量名 | 类 型 | 静态 | 数组 | 备 注 | 字体设置 | 整数型 | | | 之前的宽度 | 整数型 | | | 之前的高度 | 整数型 | | | 现在的宽度 | 整数型 | | | 现在的高度 | 整数型 | | | 控件句柄 | 整数型 | | | 索引 | 整数型 | | | 标签组 | 标签 | | 0 | 编辑框组 | 编辑框 | | 0 | 按钮组 | 按钮 | | 0 | 分组框组 | 分组框 | | 0 | 高级选择夹组 | 高级选择夹 | | 0 | 超级按钮组 | 超级按钮 | | 0 | 超级列表框组 | 超级列表框 | | 0 | 选择夹组 | 选择夹 | | 0 | 列表框组 | 列表框 | | 0 | 滑条组 | hk条 | | 0 | 超级编辑框组 | 超级编辑框 | | 0 | 组合框组 | 组合框 | | 0 | 单选框组 | 单选框 | | 0 | 多选框组 | 选择框 | | 0 |
窗口句柄.左边 = 取屏幕宽度 () ÷ 10 窗口句柄.顶边 = 取屏幕高度 () ÷ 10 + 50 之前的宽度 = 窗口句柄.宽度 之前的高度 = 窗口句柄.高度 窗口句柄.宽度 = 取屏幕宽度 () × 0.83 窗口句柄.高度 = 取屏幕高度 () × 0.9 现在的宽度 = 窗口句柄.宽度 现在的高度 = 窗口句柄.高度 - 100 控件句柄 = 寻找组件 (窗口句柄, , “超级编辑框”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (超级编辑框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, “组合框”, , , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (组合框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, “单选框”, , , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (单选框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “选择框”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (多选框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “标签”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (标签组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “编辑框”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (编辑框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “按钮”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (按钮组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “分组框”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (分组框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “高级选择夹”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (高级选择夹组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “超级按钮”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (超级按钮组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, “超级列表框”, , , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (超级列表框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, “选择夹”, , , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (选择夹组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, , “列表框”, , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (列表框组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 ()控件句柄 = 寻找组件 (窗口句柄, “hk条”, , , ) 计次循环首 (取找到组件数目 (控件句柄 ), 索引 ) 加入成员 (滑条组, 取所找到组件 (控件句柄, 索引 - 1 )) 计次循环尾 () 判断 (取屏幕高度 () = 1080 ) 字体设置 = 13 判断 (取屏幕高度 () = 1050 ) 字体设置 = 11 判断 (取屏幕高度 () = 1024 ) 字体设置 = 10 判断 (取屏幕高度 () = 900 ) 字体设置 = 10 判断 (取屏幕高度 () = 768 ) 字体设置 = 9 判断 (取屏幕高度 () ≤ 600 ) 字体设置 = 5  字体设置 = 8  判断 (取屏幕缩放比例 () = 125 ) 字体设置 = 字体设置 - 1 判断 (取屏幕缩放比例 () = 150 ) 字体设置 = 字体设置 - 2 判断 (取屏幕缩放比例 () = 175 ) 字体设置 = 字体设置 - 3   计次循环首 (取数组成员数 (单选框组 ), 索引 )单选框组 [索引 ].宽度 = 单选框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度 单选框组 [索引 ].高度 = 单选框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度 单选框组 [索引 ].左边 = 单选框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度 单选框组 [索引 ].顶边 = 单选框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度 单选框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (多选框组 ), 索引 ) 多选框组 [索引 ].宽度 = 多选框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  多选框组 [索引 ].高度 = 多选框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  多选框组 [索引 ].左边 = 多选框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  多选框组 [索引 ].顶边 = 多选框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  多选框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (滑条组 ), 索引 ) 滑条组 [索引 ].宽度 = 滑条组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  滑条组 [索引 ].高度 = 滑条组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  滑条组 [索引 ].左边 = 滑条组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  滑条组 [索引 ].顶边 = 滑条组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度 计次循环尾 () 计次循环首 (取数组成员数 (组合框组 ), 索引 ) 组合框组 [索引 ].宽度 = 组合框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  组合框组 [索引 ].高度 = 组合框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  组合框组 [索引 ].左边 = 组合框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  组合框组 [索引 ].顶边 = 组合框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  组合框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (超级编辑框组 ), 索引 ) 超级编辑框组 [索引 ].宽度 = 超级编辑框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  超级编辑框组 [索引 ].高度 = 超级编辑框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  超级编辑框组 [索引 ].左边 = 超级编辑框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  超级编辑框组 [索引 ].顶边 = 超级编辑框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度 计次循环尾 () 计次循环首 (取数组成员数 (列表框组 ), 索引 ) 列表框组 [索引 ].宽度 = 列表框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  列表框组 [索引 ].高度 = 列表框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  列表框组 [索引 ].左边 = 列表框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  列表框组 [索引 ].顶边 = 列表框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  列表框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (标签组 ), 索引 ) 标签组 [索引 ].宽度 = 标签组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  标签组 [索引 ].高度 = 标签组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  标签组 [索引 ].左边 = 标签组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  标签组 [索引 ].顶边 = 标签组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  标签组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (选择夹组 ), 索引 ) 选择夹组 [索引 ].宽度 = 选择夹组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  选择夹组 [索引 ].高度 = 选择夹组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  选择夹组 [索引 ].左边 = 选择夹组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  选择夹组 [索引 ].顶边 = 选择夹组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  选择夹组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (编辑框组 ), 索引 ) 编辑框组 [索引 ].宽度 = 编辑框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  编辑框组 [索引 ].高度 = 编辑框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  编辑框组 [索引 ].左边 = 编辑框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  编辑框组 [索引 ].顶边 = 编辑框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  编辑框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (按钮组 ), 索引 ) 按钮组 [索引 ].宽度 = 按钮组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  按钮组 [索引 ].高度 = 按钮组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  按钮组 [索引 ].左边 = 按钮组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  按钮组 [索引 ].顶边 = 按钮组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  按钮组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (分组框组 ), 索引 ) 分组框组 [索引 ].宽度 = 分组框组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  分组框组 [索引 ].高度 = 分组框组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  分组框组 [索引 ].左边 = 分组框组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  分组框组 [索引 ].顶边 = 分组框组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  分组框组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (高级选择夹组 ), 索引 ) 高级选择夹组 [索引 ].宽度 = 高级选择夹组 [索引 ].宽度 × 现在的宽度 ÷ 之前的宽度  高级选择夹组 [索引 ].高度 = 高级选择夹组 [索引 ].高度 × 现在的高度 ÷ 之前的高度  高级选择夹组 [索引 ].左边 = 高级选择夹组 [索引 ].左边 × 现在的宽度 ÷ 之前的宽度  高级选择夹组 [索引 ].顶边 = 高级选择夹组 [索引 ].顶边 × 现在的高度 ÷ 之前的高度  高级选择夹组 [索引 ].字体.字体大小 = 字体设置 计次循环尾 () 计次循环首 (取数组成员数 (超
思路:
将exe中每个控件以百分比的角度去看待,跟前端网页中的自适应的一个道理,每个控件肯定会在exe中占一定百分比,但当分辨率发生变化的时候,如果只是窗口界面发生变化,但控件长度,宽度,会出现控件在exe界面中占的百分比发生变化,从而无法达到自适应的需求,我们自适应的核心思路就是为了在窗口界面宽高发生变化的时候,控件能够同时保持百分比不变,也就是达到宽高自适应。
但这里面不单单只有宽高问题,同时还需要解决字体大小问题,因为如果分辨率变小,字体不发生变化,会出现字体大并且拥挤的感觉,所有也需要进行判断分辨率来调合适的字体,上面代码是我自己根据我自己项目调的,你们个人看情况就行了。
|
评分
-
查看全部评分
|