如何设置Win32对话框的大小(以像素为单位)?

时间:2011-05-14 10:50:34

标签: windows winapi dialog rc

我正在尝试获得500x520像素的Win32对话框,但在我的.rc文件中,这些设置让我的窗口比我预期的要大。

IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 500, 520
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX

某处存在缩放因子吗?

1 个答案:

答案 0 :(得分:6)

对话框资源中的单位是dialog units,它们通过相当复杂的过程通过对话框字体的尺寸进行标准化。您可以使用MapDialogRect()将对话框单位转换为屏幕像素。

GetDialogBaseUnits()的文档中有更多详细信息,但推荐的方法是致电MapDialogRect()并让它为您付出艰苦的努力。