Visual Studio 错误地使用了 .rc 文件中的信息

Visual Studio incorrectly uses information from .rc-file

我使用 Visual Studio 2012 资源编辑器向主窗口添加了 3 个静态文本:

每个静物彼此之间的距离相同。等于8

这是 .rc 文件中的代码:

LTEXT           "Example",IDC_STATIC_1,25,30,35,8
LTEXT           "Example",IDC_STATIC_2,25,38,35,8
LTEXT           "Example",IDC_STATIC_3,25,47,35,8

但是如果你放大图片,你可以看到这里的静态点之间的距离是不同的:

但是如果使用 CreateWindowEx() 函数创建这些静力学,那么所有距离都是相同的。

问题:为什么Visual Studio错误地使用了.rc文件中的控件位置信息?

这是意料之中的。您需要查看 MapDialogRect()GetDialogBaseUnits().

的文档

对话框单位不是像素。他们是他们自己的东西。

创建对话框时,它会使用对话框的字体缩放对话框。如果未指定,或指定使用系统字体,则对话框将缩放到该大小。

如果对话框的字体更大,则创建时对话框及其所有元素都会更大。