现在的屏幕分辨率都比较高,为了使屏幕字体不至于太小,通常在 Win10 的显示设置里面设为放大 125% 或 150% 或更大,这样就会导致像素实际上被放大了。
如果你的程序不希望受系统缩放设置影响,你需要使用一个新的 API 函数:SetProcessDpiAwareness
注意这个 API 函数的使用条件:
- Win8.1 及以上版本
- 头文件 ShellScalingApi.h
- 库文件 Shcore.lib
以下是一个完整的范例程序,该范例创建一个不受系统缩放设置影响的绘图窗口,并画一个圆:
// 编译环境:Win10 + VS2019 + EasyX_20200727
//
// 设定操作系统版本为 Win10
#define WINVER 0x0A00
#define _WIN32_WI
...