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

  勇芳 2018-2-17 3956

此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。

现在,越来越多高分辨率显示器,特别是笔记本电脑,如果DPI还是 100%,那么显示的字小的蚂蚁一样。

QQ截图20180217185440.jpg

当在高DPI下看到软件显示的模糊的样子,那是不支持高DPI,包括WIN系统自带的一些软件,都不支持。

而VFB创建的软件,已经完美支持了高DPI,这意味着您的应用程序将正确地在不同的 DPI 设置进行缩放。

如果你需要代码修改控件位置,如

SetWindowPos hWndControl,0,100,100,500,250,SWP_NOZORDER  不支持高DPI

需要作如下修改:

SetWindowPos hWndControl,0,afxScaleX(100),afxScaleY(100),afxScaleX(500),afxScaleY(250),SWP_NOZORDER

函数 afxScaleX 和 afxScaleY 已经内置,所有关坐标和尺寸的,都需要加上此函数,来支持高DPI

比方绘图API等等,必须加上。

禁用高DPI缩放

很少你可能遇到您不要高DPI的情况。你只需要添加以下语句,在特殊函数 FF_APPSTART 里

#DEFINE FF_NOSCALE  '加了这行,你的软件就不支持高DPI了

QQ截图20180217192514.jpg

最新回复 (2)
返回
联系勇芳