关于VB6如何获取高DPI值
vb吧
全部回复
仅看楼主
level 7
有大佬解答一下么
2024年11月07日 12点11分 1
level 13
DPI获取的方法:
1.VB的: 15 / Screen.TwipsPerPixelX
2.API的:GetDeviceCaps
2024年11月07日 15点11分 2
第二个方法不能实时获取 改了屏幕缩放显示就不对了[小乖]
2024年11月08日 00点11分
@💋一道绿光 GetDeviceCaps(me.hDC, DESKTOPHORZRES) / GetDeviceCaps(me.hDC, HORZRES)试试
2024年11月10日 02点11分
@隨風🍁缒夢 还是不行的
2024年11月10日 09点11分
@💋一道绿光 你得加manifest(清单文件)开启每个监视器DPI模式才行。
2025年06月06日 12点06分
level 9
回复 @隨風🍁缒夢 :
我发现显示缩放,系统125%和自定义125%是不一样的,系统125%是全都放大,自定义的窗体不放大,所以老软件的文字还是清晰的,大致关系如下图:
但是自定义150%和系统150%是类似的,老软件文字模糊。
2024年11月11日 06点11分 3
加入清单可以在高DPI下不模糊,DPI具体比值我也没有仔细测试,不好说
2024年11月11日 12点11分
加入清单后系统控件或VB自带的控件会自动调整大小,但是自己设计的控件就需要自己处理DPI,不加清单高DPI下一般都是模糊(拉伸了)
2024年11月11日 12点11分
@隨風🍁缒夢 给不是自己编译的软件加清单好用吗?我试了一个没成功。
2024年11月12日 00点11分
@klimaaaa 可以的吧,用第三方资源编辑工具,具体是否生效看软件自身(如果是系统控件则可以)
2024年11月12日 00点11分
level 9
@隨風缒夢
DeepSeek给出一个API,和你的效果是一样的(乘除弄反了)。
DeepSeek现在真是厉害,感觉就是有智慧一样。
2025年03月24日 09点03分 4
1