精易论坛

标题: QSSmartScale 自动界面缩放+完整字体缩放 完整DPI支持 [打印本页]

作者: 极地萤火    时间: 2022-4-17 17:46
标题: QSSmartScale 自动界面缩放+完整字体缩放 完整DPI支持
QSEC系列组件


QSSmartScale
    自动按比例缩放窗口,支持字体缩放,完整支持高DPI缩放(可关闭),支持运行过程中DPI更改后的感知(PerMonitorV2,使用多个不同DPI的显示器时尤为重要)
    字体缩放基于未文档化的易语言窗口组件反射技术实现,不会引入未被使用的支持库,且理论支持所有组件(自动应用到所有Font类型的属性)
    注:黑月模式下可能无法自动完成对Static等不使用WM_SETFONT的组件的字体缩放
    Technical-Previewly,暂时不能很好地支持运行时需要代码移动组件的场景(因为懒 :D)

QSSmartScale部分代码(fat).7z (270.9 KB, 下载次数: 145)



点击链接加入群聊【易高级编程&EOC&QSEC】(QQ群605310933)

补充内容 (2022-4-21 18:33):
14楼更新新版,修复与超级列表框的兼容性问题
作者: Kyu    时间: 2022-4-17 18:48

作者: 怡君大哥    时间: 2022-4-17 18:51

作者: 极地萤火    时间: 2022-4-17 19:02
本帖最后由 棋棋 于 2022-4-17 19:04 编辑

使用方法:
  
窗口程序集名保 留  保 留备 注
窗口程序集_鼓励窗口   
变量名类 型数组备 注
SmartScaleSmartScale  

子程序名返回值类型公开备 注
_鼓励窗口_创建完毕  
SmartScale.Init (取窗口句柄 ())
SmartScale.MoveToCenter () ' 窗口居中,可删除


补充内容 (2022-4-21 18:06):
窗口创建前请先开启DPI感知(可以通过代码或Manifest开启):
参考:_启动子程序 第一行调用 DpiAwarePerMonitorV2OrCompatible(响应DPI动态变化的高级模式)
作者: xjshuaishuai    时间: 2022-4-17 19:05

作者: han15070727425    时间: 2022-4-17 20:41
看看效果
作者: 咸鱼666    时间: 2022-4-17 21:07
不知道什么用,纯易UI,调用后直接崩溃
作者: wuqingg    时间: 2022-4-18 08:58
是不是类似于”窗口自适应“?
作者: 镜oo月    时间: 2022-4-18 09:09
小手一抖,积分到手,闪
作者: 晴天大佬    时间: 2022-4-18 10:12

作者: 默念、    时间: 2022-4-18 12:51
下载看看
作者: 2446789312    时间: 2022-4-18 19:58

作者: 我很低调    时间: 2022-4-21 16:48
牛屁         
作者: 极地萤火    时间: 2022-4-21 18:10
本帖最后由 棋棋 于 2022-4-21 18:33 编辑

修复与超级列表框的兼容性问题
QSSmartScale (revise.2).zip (46.61 KB, 下载次数: 252)
另附例程:
QSSmartScale例程.e (8.62 KB, 下载次数: 222)

补充内容 (2022-8-27 21:54):
依托于TextECode、EAutoBuild等新的工具链,QSEC模块已以较为标准的方式完成构建脚本的编写,并将构建脚本与模块代码托管于GH:https://github.com/OpenEpl/QSEC

补充内容 (2022-10-18 08:53):
Build 20221017增加非固定布局模式,此模式下只处理由初始化或DPI改变引起的布局变化,每次缩放根据DPI改变前的布局状态进行,而非用初始化记录的数据
作者: 极地萤火    时间: 2022-4-21 18:33
咸鱼666 发表于 2022-4-17 21:07
不知道什么用,纯易UI,调用后直接崩溃

14楼新版试试
作者: 咸鱼666    时间: 2022-4-21 19:47
棋棋 发表于 2022-4-21 18:10
修复与超级列表框的兼容性问题

另附例程:

可用了,好像字体看起来比较锐利,比设计时小一点点,选择夹子夹多一点,设计的时候是两行,用了变一行,应该就是字体缩小的问题?
总结:挺有意思,如果能让字体稍微圆润一点就好了?
作者: Azumarill    时间: 2022-4-22 22:15
支持开源~!感谢分享
作者: vqzhanshi2    时间: 2022-4-23 23:05
本帖最后由 vqzhanshi2 于 2022-4-24 00:14 编辑

支持支持希望以后支持自绘
作者: 一心如旧    时间: 2022-5-7 12:01
试了下 好像没有支持通用组件库6.0
作者: huiyi666    时间: 2022-5-18 22:01
下载看看
作者: bjsdfbsdjj    时间: 2022-5-26 20:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: bjsdfbsdjj    时间: 2022-5-26 20:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: bjsdfbsdjj    时间: 2022-5-26 20:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: bjsdfbsdjj    时间: 2022-5-26 20:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萌新乚    时间: 2022-5-28 18:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萌新乚    时间: 2022-5-28 18:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萌新乚    时间: 2022-5-28 18:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萌新乚    时间: 2022-5-28 18:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: yongxuan    时间: 2022-7-4 14:33
看看能不能解决自己的问题~
作者: 云韵    时间: 2022-7-6 17:28
这个必须支持下
作者: fengshou    时间: 2022-8-10 22:34
@棋棋 如下图 ↓ toolbar控件在加入图标之后,在高DPI时图标变小,控件高度变低,望大佬修复一下




作者: 网络注册络员    时间: 2022-8-10 22:40
支持开源


作者: 极地萤火    时间: 2022-8-11 01:30
fengshou 发表于 2022-8-10 22:34
@棋棋 如下图 ↓ toolbar控件在加入图标之后,在高DPI时图标变小,控件高度变低,望大佬修复一下
...

工具条的大小是结合图片组的数据而定的,所以难以被模块改变
实际上,高DPI时的图标类问题必须要模块用户手动解决,由模块拿低分辨率的图片强制缩放很难达到良好的显示效果。而另一方面,增加这种特定于组件的图标缩放可能会带来额外的复杂度,因此暂时不会考虑加入相关功能。
如果可能的话,我们实际上推荐您使用矢量图标方案,以在高分屏下取得良好的显示效果。但遗憾的是,易语言平台上缺乏成熟且通用的矢量图标方案
作者: fengshou    时间: 2022-8-12 15:57
棋棋 发表于 2022-8-11 01:30
工具条的大小是结合图片组的数据而定的,所以难以被模块改变
实际上,高DPI时的图标类问题必须要模块用户 ...

加群加不进去呀,频道似乎也过期了
作者: yiyi111122    时间: 2022-8-26 08:30
谢谢分享
作者: wujinghe    时间: 2022-9-12 17:42
厉害了,支持开源
作者: 不苦小和尚    时间: 2022-9-24 18:06
标题栏的字会缩小吗
作者: 2e2e    时间: 2022-9-29 15:24
这个模块,对EXUI 支持吗?
作者: lm88818    时间: 2022-10-5 00:20
        支持开源~!感谢分享
作者: 易斤精    时间: 2022-10-17 12:12
有个情况,  修改组件位置后, 如果最小化窗口再打开窗口, 组件会恢复到修改前的位置, 这个有办法解决吗
作者: 美味萝卜    时间: 2022-11-5 21:41
不错 感谢分享
作者: lm88818    时间: 2023-3-6 14:11
支持开源~!感谢分享
作者: 候补的神    时间: 2023-3-9 18:17
貌似跑不起来。
作者: ab4157    时间: 2023-3-10 15:12
能出个完整例程吗 有些应用不明白
作者: lm88818    时间: 2023-4-15 12:39
        支持开源~!感谢分享
作者: 小青创客    时间: 2023-10-12 14:13
下载了,还是不会用啊
作者: 1528344561    时间: 2023-10-21 13:26
感谢你分享
作者: ab4157    时间: 2023-11-4 02:09
目前为止最好的缩放类型
作者: 空竹    时间: 2023-11-20 21:03
@棋棋


能不能支持一下高级表格,邓学彬版本的~
作者: 木小果    时间: 2024-1-11 21:09
本帖最后由 木小果 于 2024-1-11 21:20 编辑

有一个问题,启用自适应后,如果有组合框,会导致组合框高度变小,导致无法展开列表
  
貌似只会影响黑月的,我用自带的不受影响



临时解决办法
在鼠标移入事件下 设置组合框高度即可

作者: gegou    时间: 2024-2-6 19:41
提示: 该帖被管理员或版主屏蔽
作者: 无名霸道    时间: 2024-5-8 13:26
66666666666666666666666666666666
作者: chboy    时间: 2024-5-20 22:59
木小果 发表于 2024-1-11 21:09
有一个问题,启用自适应后,如果有组合框,会导致组合框高度变小,导致无法展开列表
  
貌似只会影响黑月的 ...

这个模块貌似是没有适配超级列表框的列宽,这个咋处理捏?

需要手动根据分辨率大小来设置列宽,一个一个适配,挺麻烦的~

您有什么建议吗?@棋棋 @木小果
作者: mytools    时间: 2024-7-23 17:57
         支持开源~!感谢分享
作者: youya    时间: 2024-8-4 23:45
感谢大佬分享
作者: lm88818    时间: 2024-11-6 09:37
        支持开源~!感谢分享
作者: yiyi111122    时间: 2024-11-28 21:23
谢谢分享
作者: sn123zyc    时间: 2024-12-5 15:33
        支持开源~!感谢分享
作者: lm88818    时间: 2025-4-1 14:18
支持开源~!感谢分享
作者: lzhenwen    时间: 2025-4-3 11:12
学习了,感谢了,,,

作者: 临安    时间: 2025-5-6 18:43
有bug 选择框组件 标题栏字体 之类的会非常小
作者: 1485859263    时间: 2025-5-10 20:10
感谢分享




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