找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1996|回复: 1

【VFB】支持高DPI(VFB教程1-4)

[复制链接]

51

主题

31

回帖

648

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
506 个
贡献
1 次
宅之契约
0 份
在线时间
23 小时
注册时间
2017-12-26
发表于 2018-2-25 16:58:19 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。
现在,越来越多高分辨率显示器,特别是笔记本电脑,如果DPI还是 100%,那么显示的字小的蚂蚁一样。

1518864898639468.jpg
当在高DPI下看到软件显示的模糊的样子,那是不支持高DPI,包括WIN系统自带的一些软件,都不支持。
而VFB创建的软件,已经完美支持了高DPI,这意味着您的应用程序将正确地在不同的 DPI 设置进行缩放。
如果你需要代码修改控件位置,如
  1. SetWindowPos hWndControl,0,100,100,500,250,SWP_NOZORDER  不支持高DPI
复制代码

需要作如下修改:
  1. SetWindowPos hWndControl,0,afxScaleX(100),afxScaleY(100),afxScaleX(500),afxScaleY(250),SWP_NOZORDER
复制代码

函数 afxScaleX 和 afxScaleY 已经内置,所有关坐标和尺寸的,都需要加上此函数,来支持高DPI
比方绘图API等等,必须加上。

禁用高DPI缩放
很少你可能遇到您不要高DPI的情况。你只需要添加以下语句,在特殊函数 FF_APPSTART 里
  1. #DEFINE FF_NOSCALE  '加了这行,你的软件就不支持高DPI了
复制代码

1518866735628633.jpg

回复

使用道具 举报

1

主题

159

回帖

624

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
464 个
贡献
0 次
宅之契约
0 份
在线时间
71 小时
注册时间
2021-10-16
发表于 2022-5-17 11:42:08 | 显示全部楼层

珍惜生命,果断回帖。
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-20 08:27 , Processed in 0.040971 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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