开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1411|回复: 8
收起左侧

[已解决] EXUI自绘如何进行DPI适配呢

 关闭 [复制链接]
结帖率:92% (35/38)
发表于 2021-10-24 16:09:55 | 显示全部楼层 |阅读模式   山西省太原市
14精币
我用EXUI自毁了一个界面,发现在windows10中会缩放程序窗口和组件;
于是上论坛搜索相关解决方案;
大致方案都是获取组件数量,然后与缩放率进行计算组件长宽;
我尝试用过这个方法,但是在使用EXUI的窗口下获取的组件数组数量是0;
= =想了很久,也没有解决啊;
向问问论坛大佬们有没有相应解决方案。

最佳答案

查看完整内容

win10有dpi消息,自己判断下就完事了,上面几个说调用那个api跟判断屏幕的都有问题 补充内容 (2021-10-24 17:28): zc表也是,

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
发表于 2021-10-24 16:09:56 | 显示全部楼层   北京市北京市
win10有dpi消息,自己判断下就完事了,上面几个说调用那个api跟判断屏幕的都有问题

补充内容 (2021-10-24 17:28):
zc表也是,

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:87% (20/23)

签到天数: 10 天

发表于 2021-10-24 16:21:14 | 显示全部楼层   广东省东莞市
只要按照易语言规定来  组件就可以搜索得到  

补充内容 (2021-10-24 16:21):
不过更好的算法都是 取 DPI  然后计算的
回复

使用道具 举报

结帖率:92% (35/38)

签到天数: 1 天

 楼主| 发表于 2021-10-24 16:43:17 | 显示全部楼层   山西省太原市
汉族 发表于 2021-10-24 16:21
只要按照易语言规定来  组件就可以搜索得到  

补充内容 (2021-10-24 16:21):

您好,谢谢回复。我简单地贴一下我的代码,麻烦您帮我指出一下问题喔。谢谢
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
组件自动缩放 (_启动窗口)
子程序名返回值类型公开备 注
组件自动缩放  
参数名类 型参考可空数组备 注
窗口名称窗口
变量名类 型静态数组备 注
DPI整数型 
缩放率小数型 
按钮统计整数型 
按钮数量整数型 
按钮数组按钮EX0
DPI = 取数值zc项 (3, “Control Panel\Desktop\WindowMetrics\AppliedDPI”, )  ' 取DPI值
调试输出 (DPI)
缩放率 = DPI ÷ 96 ' 计算缩放率
调试输出 (缩放率)
如果真 (缩放率 = 1)  ' 因为现在用的系统是Win7,所以缩放率=1时进行计算
按钮统计 = 寻找组件 (窗口EX1, , “按钮EX”, , )‘寻找按钮组件,应该问题出现在这一句。。但不知道怎么改
按钮数量 = 取找到组件数目 (按钮统计)
调试输出 (按钮数量)‘寻找按钮组件,调试返回值为0


i支持库列表   支持库注释   
ExuiKrnln(未知支持库)
spec特殊功能支持库

点评

论坛有这方面代码,具体计算多少 要经过 自己的调试   广东省东莞市  发表于 2021-10-24 21:32
回复

使用道具 举报

结帖率:97% (587/606)
发表于 2021-10-24 16:44:23 | 显示全部楼层   河北省保定市
唯一的方法就是取屏幕分辨率然后计算
回复

使用道具 举报

结帖率:92% (35/38)

签到天数: 1 天

 楼主| 发表于 2021-10-24 16:46:04 | 显示全部楼层   山西省太原市
1182410163 发表于 2021-10-24 16:44
唯一的方法就是取屏幕分辨率然后计算

嗯,感谢回复,我已经贴出来了大概的代码。。不知道问题在哪里。。
第一次使用EXUI,想做漂亮一点。。
现在的问题是组件数量返回为0,不知道哪里有了问题。。
回复

使用道具 举报

结帖率:97% (587/606)
发表于 2021-10-24 16:48:08 | 显示全部楼层   河北省保定市
麟韵 发表于 2021-10-24 16:46
嗯,感谢回复,我已经贴出来了大概的代码。。不知道问题在哪里。。
第一次使用EXUI,想做漂亮一点。。
现 ...

标记组件值
回复

使用道具 举报

结帖率:92% (35/38)

签到天数: 1 天

 楼主| 发表于 2021-10-25 14:31:47 | 显示全部楼层   山西省太原市
AnyPopup 发表于 2021-10-24 17:28
win10有dpi消息,自己判断下就完事了,上面几个说调用那个api跟判断屏幕的都有问题

补充内容 (20 ...

您好,感谢回复,
现在已经取出系统的DPI数值,可是EXUI自绘后,找到要调整大小的组件数为0。。
没有用到自绘是可以找到组件的。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表