我正在尝试获得500x520像素的Win32对话框,但在我的.rc文件中,这些设置让我的窗口比我预期的要大。
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 500, 520
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
某处存在缩放因子吗?
答案 0 :(得分:6)
对话框资源中的单位是dialog units,它们通过相当复杂的过程通过对话框字体的尺寸进行标准化。您可以使用MapDialogRect()
将对话框单位转换为屏幕像素。
GetDialogBaseUnits()
的文档中有更多详细信息,但推荐的方法是致电MapDialogRect()
并让它为您付出艰苦的努力。