精易论坛

标题: 关于易语言自适应 [打印本页]

作者: wolfSpicy    时间: 2025-4-5 15:50
标题: 关于易语言自适应
我在开发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


计次循环首 (取数组成员数 (单选框组), 索引)
单选框组 [索引].宽度 = 单选框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
单选框组 [索引].高度 = 单选框组 [索引].高度 × 现在的高度 ÷ 之前的高度
单选框组 [索引].左边 = 单选框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
单选框组 [索引].顶边 = 单选框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
单选框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (多选框组), 索引)
多选框组 [索引].宽度 = 多选框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
多选框组 [索引].高度 = 多选框组 [索引].高度 × 现在的高度 ÷ 之前的高度
多选框组 [索引].左边 = 多选框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
多选框组 [索引].顶边 = 多选框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
多选框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (滑条组), 索引)
滑条组 [索引].宽度 = 滑条组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
滑条组 [索引].高度 = 滑条组 [索引].高度 × 现在的高度 ÷ 之前的高度
滑条组 [索引].左边 = 滑条组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
滑条组 [索引].顶边 = 滑条组 [索引].顶边 × 现在的高度 ÷ 之前的高度
计次循环尾 ()
计次循环首 (取数组成员数 (组合框组), 索引)
组合框组 [索引].宽度 = 组合框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
组合框组 [索引].高度 = 组合框组 [索引].高度 × 现在的高度 ÷ 之前的高度
组合框组 [索引].左边 = 组合框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
组合框组 [索引].顶边 = 组合框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
组合框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (超级编辑框组), 索引)
超级编辑框组 [索引].宽度 = 超级编辑框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
超级编辑框组 [索引].高度 = 超级编辑框组 [索引].高度 × 现在的高度 ÷ 之前的高度
超级编辑框组 [索引].左边 = 超级编辑框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
超级编辑框组 [索引].顶边 = 超级编辑框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
计次循环尾 ()
计次循环首 (取数组成员数 (列表框组), 索引)
列表框组 [索引].宽度 = 列表框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
列表框组 [索引].高度 = 列表框组 [索引].高度 × 现在的高度 ÷ 之前的高度
列表框组 [索引].左边 = 列表框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
列表框组 [索引].顶边 = 列表框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
列表框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (标签组), 索引)
标签组 [索引].宽度 = 标签组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
标签组 [索引].高度 = 标签组 [索引].高度 × 现在的高度 ÷ 之前的高度
标签组 [索引].左边 = 标签组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
标签组 [索引].顶边 = 标签组 [索引].顶边 × 现在的高度 ÷ 之前的高度
标签组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (选择夹组), 索引)
选择夹组 [索引].宽度 = 选择夹组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
选择夹组 [索引].高度 = 选择夹组 [索引].高度 × 现在的高度 ÷ 之前的高度
选择夹组 [索引].左边 = 选择夹组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
选择夹组 [索引].顶边 = 选择夹组 [索引].顶边 × 现在的高度 ÷ 之前的高度
选择夹组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (编辑框组), 索引)
编辑框组 [索引].宽度 = 编辑框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
编辑框组 [索引].高度 = 编辑框组 [索引].高度 × 现在的高度 ÷ 之前的高度
编辑框组 [索引].左边 = 编辑框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
编辑框组 [索引].顶边 = 编辑框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
编辑框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (按钮组), 索引)
按钮组 [索引].宽度 = 按钮组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
按钮组 [索引].高度 = 按钮组 [索引].高度 × 现在的高度 ÷ 之前的高度
按钮组 [索引].左边 = 按钮组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
按钮组 [索引].顶边 = 按钮组 [索引].顶边 × 现在的高度 ÷ 之前的高度
按钮组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (分组框组), 索引)
分组框组 [索引].宽度 = 分组框组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
分组框组 [索引].高度 = 分组框组 [索引].高度 × 现在的高度 ÷ 之前的高度
分组框组 [索引].左边 = 分组框组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
分组框组 [索引].顶边 = 分组框组 [索引].顶边 × 现在的高度 ÷ 之前的高度
分组框组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (高级选择夹组), 索引)
高级选择夹组 [索引].宽度 = 高级选择夹组 [索引].宽度 × 现在的宽度 ÷ 之前的宽度
高级选择夹组 [索引].高度 = 高级选择夹组 [索引].高度 × 现在的高度 ÷ 之前的高度
高级选择夹组 [索引].左边 = 高级选择夹组 [索引].左边 × 现在的宽度 ÷ 之前的宽度
高级选择夹组 [索引].顶边 = 高级选择夹组 [索引].顶边 × 现在的高度 ÷ 之前的高度
高级选择夹组 [索引].字体.字体大小 = 字体设置
计次循环尾 ()
计次循环首 (取数组成员数 (


i支持库列表   支持库注释   
iext3扩展界面支持库三
iext2扩展界面支持库二
iext扩展界面支持库一



思路:
      将exe中每个控件以百分比的角度去看待,跟前端网页中的自适应的一个道理,每个控件肯定会在exe中占一定百分比,但当分辨率发生变化的时候,如果只是窗口界面发生变化,但控件长度,宽度,会出现控件在exe界面中占的百分比发生变化,从而无法达到自适应的需求,我们自适应的核心思路就是为了在窗口界面宽高发生变化的时候,控件能够同时保持百分比不变,也就是达到宽高自适应。

但这里面不单单只有宽高问题,同时还需要解决字体大小问题,因为如果分辨率变小,字体不发生变化,会出现字体大并且拥挤的感觉,所有也需要进行判断分辨率来调合适的字体,上面代码是我自己根据我自己项目调的,你们个人看情况就行了。

作者: wolfSpicy    时间: 2025-4-5 15:51
我发现代码好像不全,算了,你们知道思路就行了,这个应该没啥难度,但我看到没啥人发,我就随便混下吧~
作者: 炫彩界面库    时间: 2025-4-5 16:03
UI自适应 用第三方界面库就可以了, 不需要自己计算
作者: wolfSpicy    时间: 2025-4-5 16:06
炫彩界面库 发表于 2025-4-5 16:03
UI自适应 用第三方界面库就可以了, 不需要自己计算

啊哈哈哈,我是直接用原生的
作者: 帅气与大侠    时间: 2025-4-5 17:47
DPI清单不能解决吗?微软专门弄来用以解决缩放问题的
作者: zzh233    时间: 2025-4-5 18:00
基础控件都好办 就是表格比较麻烦
作者: wolfSpicy    时间: 2025-4-5 18:02
帅气与大侠 发表于 2025-4-5 17:47
DPI清单不能解决吗?微软专门弄来用以解决缩放问题的

有具体帖子吗,这个没了解过
作者: 帅气与大侠    时间: 2025-4-5 18:22
wolfSpicy 发表于 2025-4-5 18:02
有具体帖子吗,这个没了解过

论坛搜索dpi,或者问下AI怎么弄DPI清单,加到易的自定义清单里,用户电脑分辨率缩放的时候,DPI可以适应,让组件不会过大或过小
作者: yangxuan87    时间: 2025-4-5 23:07
66666666666666
作者: wolfSpicy    时间: 2025-4-7 11:49
这里我重新再写过一次,之前没有考虑到dpi的影响,我把论坛上全部关于自适应的帖子逛了都没有我想要的。
作者: wolfSpicy    时间: 2025-4-7 11:49

这里我重新再写过一次,之前没有考虑到dpi的影响,我把论坛上全部关于自适应的帖子逛了都没有我想要的。
.版本 2
.支持库 iext2
.支持库 iext3
.支持库 iext

窗口句柄.左边 = 取屏幕宽度 () × 0.05
窗口句柄.顶边 = 取屏幕高度 () × 0.05
基准宽度 = 1920
基准高度 = 1080
屏幕宽度 = GetSystemMetrics (0)
屏幕高度 = GetSystemMetrics (1)

' 系统_取系统DPI ()


BASE_FONT_SIZE = 14
缩放比例X = 屏幕宽度 ÷ 1920
缩放比例Y = 屏幕高度 ÷ 1080
之前的高度 = 窗口句柄.高度
之前的宽度 = 窗口句柄.宽度
.如果 (缩放比例X ≤ 缩放比例Y)
    scale = 缩放比例X
.否则
    scale = 缩放比例Y
.如果结束
fontSize = BASE_FONT_SIZE × scale
字体设置 = fontSize

窗口句柄.宽度 = 窗口句柄.宽度 × 缩放比例X
窗口句柄.高度 = (窗口句柄.高度 + 200) × 缩放比例Y

控件句柄 = 寻找组件 (窗口句柄, , “超级编辑框”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (超级编辑框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, “组合框”, , , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (组合框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, “单选框”, , , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (单选框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “选择框”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (多选框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()


控件句柄 = 寻找组件 (窗口句柄, , “标签”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (标签组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “编辑框”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (编辑框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()

控件句柄 = 寻找组件 (窗口句柄, , “按钮”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (按钮组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “分组框”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (分组框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “高级选择夹”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (高级选择夹组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “超级按钮”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (超级按钮组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, “超级列表框”, , , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (超级列表框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, “选择夹”, , , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (选择夹组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()
控件句柄 = 寻找组件 (窗口句柄, , “列表框”, , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (列表框组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()

控件句柄 = 寻找组件 (窗口句柄, “hk条”, , , )
.计次循环首 (取找到组件数目 (控件句柄), 索引)
    加入成员 (滑条组, 取所找到组件 (控件句柄, 索引 - 1))
.计次循环尾 ()





.计次循环首 (取数组成员数 (单选框组), 索引)

    单选框组 [索引].宽度 = 单选框组 [索引].宽度 × 缩放比例X
    单选框组 [索引].高度 = 单选框组 [索引].高度 × 缩放比例Y
    单选框组 [索引].左边 = 单选框组 [索引].左边 × 缩放比例X
    单选框组 [索引].顶边 = 单选框组 [索引].顶边 × 缩放比例Y
    单选框组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()

.计次循环首 (取数组成员数 (多选框组), 索引)

    多选框组 [索引].宽度 = 多选框组 [索引].宽度 × 缩放比例X
    多选框组 [索引].高度 = 多选框组 [索引].高度 × 缩放比例Y
    多选框组 [索引].左边 = 多选框组 [索引].左边 × 缩放比例X
    多选框组 [索引].顶边 = 多选框组 [索引].顶边 × 缩放比例Y
    多选框组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()

.计次循环首 (取数组成员数 (滑条组), 索引)
    滑条组 [索引].宽度 = 滑条组 [索引].宽度 × 缩放比例X
    滑条组 [索引].高度 = 滑条组 [索引].高度 × 缩放比例Y
    滑条组 [索引].左边 = 滑条组 [索引].左边 × 缩放比例X
    滑条组 [索引].顶边 = 滑条组 [索引].顶边 × 缩放比例Y


.计次循环尾 ()
.计次循环首 (取数组成员数 (组合框组), 索引)

    组合框组 [索引].宽度 = 组合框组 [索引].宽度 × 缩放比例X
    组合框组 [索引].高度 = 组合框组 [索引].高度 × 缩放比例Y
    组合框组 [索引].左边 = 组合框组 [索引].左边 × 缩放比例X
    组合框组 [索引].顶边 = 组合框组 [索引].顶边 × 缩放比例Y
    组合框组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()
.计次循环首 (取数组成员数 (超级编辑框组), 索引)
    超级编辑框组 [索引].宽度 = 超级编辑框组 [索引].宽度 × 缩放比例X
    超级编辑框组 [索引].高度 = 超级编辑框组 [索引].高度 × 缩放比例Y
    超级编辑框组 [索引].左边 = 超级编辑框组 [索引].左边 × 缩放比例X
    超级编辑框组 [索引].顶边 = 超级编辑框组 [索引].顶边 × 缩放比例Y


.计次循环尾 ()

.计次循环首 (取数组成员数 (列表框组), 索引)
    列表框组 [索引].宽度 = 列表框组 [索引].宽度 × 缩放比例X
    列表框组 [索引].高度 = 列表框组 [索引].高度 × 缩放比例Y
    列表框组 [索引].左边 = 列表框组 [索引].左边 × 缩放比例X
    列表框组 [索引].顶边 = 列表框组 [索引].顶边 × 缩放比例Y
    列表框组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()

.计次循环首 (取数组成员数 (标签组), 索引)
    标签组 [索引].宽度 = 标签组 [索引].宽度 × 缩放比例X
    标签组 [索引].高度 = 标签组 [索引].高度 × 缩放比例Y
    标签组 [索引].左边 = 标签组 [索引].左边 × 缩放比例X
    标签组 [索引].顶边 = 标签组 [索引].顶边 × 缩放比例Y
    标签组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()
.计次循环首 (取数组成员数 (选择夹组), 索引)
    选择夹组 [索引].宽度 = 选择夹组 [索引].宽度 × 缩放比例X
    选择夹组 [索引].高度 = 选择夹组 [索引].高度 × 缩放比例Y
    选择夹组 [索引].左边 = 选择夹组 [索引].左边 × 缩放比例X
    选择夹组 [索引].顶边 = 选择夹组 [索引].顶边 × 缩放比例Y
    选择夹组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()

.计次循环首 (取数组成员数 (编辑框组), 索引)

    编辑框组 [索引].宽度 = 编辑框组 [索引].宽度 × 缩放比例X
    编辑框组 [索引].高度 = 编辑框组 [索引].高度 × 缩放比例Y
    编辑框组 [索引].左边 = 编辑框组 [索引].左边 × 缩放比例X
    编辑框组 [索引].顶边 = 编辑框组 [索引].顶边 × 缩放比例Y
    编辑框组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()

.计次循环首 (取数组成员数 (按钮组), 索引)
    按钮组 [索引].宽度 = 按钮组 [索引].宽度 × 缩放比例X
    按钮组 [索引].高度 = 按钮组 [索引].高度 × 缩放比例Y
    按钮组 [索引].左边 = 按钮组 [索引].左边 × 缩放比例X
    按钮组 [索引].顶边 = 按钮组 [索引].顶边 × 缩放比例Y
    按钮组 [索引].字体.字体大小 = 字体设置
.计次循环尾 ()
.计次循环首 (取数组成员数 (分组框组), 索引)

    分组框组 [索引].宽度 = 分组框组 [索引].宽度 × 缩放比例X
    分组框组 [索引].高度 = 分组框组 [索引].高度 × 缩放比例Y
    分组框组 [索引].左边 = 分组框组 [索引].左边 × 缩放比例X
    分组框组 [索引].顶边 = 分组框组 [索引].顶边 × 缩放比例Y

    分组框组 [索引].字体.字体大小 = 字体设置
.计次循环尾 ()
.计次循环首 (取数组成员数 (高级选择夹组), 索引)

    高级选择夹组 [索引].宽度 = 高级选择夹组 [索引].宽度 × 缩放比例X
    高级选择夹组 [索引].高度 = 高级选择夹组 [索引].高度 × 缩放比例Y
    高级选择夹组 [索引].左边 = 高级选择夹组 [索引].左边 × 缩放比例X
    高级选择夹组 [索引].顶边 = 高级选择夹组 [索引].顶边 × 缩放比例Y
    高级选择夹组 [索引].字体.字体大小 = 字体设置

.计次循环尾 ()
.计次循环首 (取数组成员数 (超级按钮组), 索引)
    超级按钮组 [索引].宽度 = 超级按钮组 [索引].宽度 × 缩放比例X
    超级按钮组 [索引].高度 = 超级按钮组 [索引].高度 × 缩放比例Y
    超级按钮组 [索引].左边 = 超级按钮组 [索引].左边 × 缩放比例X
    超级按钮组 [索引].顶边 = 超级按钮组 [索引].顶边 × 缩放比例Y
    超级按钮组 [索引].字体.字体大小 = 字体设置
.计次循环尾 ()
.计次循环首 (取数组成员数 (超级列表框组), 索引)
    超级列表框组 [索引].宽度 = 超级列表框组 [索引].宽度 × 缩放比例X
    超级列表框组 [索引].高度 = 超级列表框组 [索引].高度 × 缩放比例Y
    超级列表框组 [索引].左边 = 超级列表框组 [索引].左边 × 缩放比例X
    超级列表框组 [索引].顶边 = 超级列表框组 [索引].顶边 × 缩放比例Y
    超级列表框组 [索引].字体.字体大小 = 字体设置
    超级列表框组 [索引].置列宽 (0, 超级列表框组 [索引].宽度 ÷ 4)
    超级列表框组 [索引].置列宽 (1, 超级列表框组 [索引].宽度 ÷ 4)
    超级列表框组 [索引].置列宽 (2, 超级列表框组 [索引].宽度 ÷ 4)
    超级列表框组 [索引].置列宽 (3, 超级列表框组 [索引].宽度 ÷ 4)
.计次循环尾 ()


作者: wolfSpicy    时间: 2025-4-7 11:52
wolfSpicy 发表于 2025-4-7 11:49
这里我重新再写过一次,之前没有考虑到dpi的影响,我把论坛上全部关于自适应的帖子逛了都没有我想要的。 ...

我之前的问题是没有结合dpi的,我的思路是,当dpi缩放的时候可以简单认为是分辨率被调整了,那我们可以以分辨率改变了的角度来去应对dpi缩放,那思路就很简单了。还是跟之前思路一样,想办法得到目前的屏幕宽度和高度跟自己开发时候的屏幕宽度和高度,最后得到缩放X和缩放Y然后来解决,这个是完美达到我的要求了。
作者: 涤尘    时间: 2025-4-17 20:21
谢谢分享,学习一下
作者: hlswuwu    时间: 2025-4-29 09:40
谢谢分享,学习一下
作者: xintian    时间: 2025-4-29 16:01
感觉好复杂.有没有简单点的.
作者: q2356364305    时间: 2025-5-15 20:14
卧槽高端
作者: rushirushi    时间: 2025-5-18 16:22
学习了。。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4