我想以像素为单位设置对话框的默认大小,比如 640 像素宽和 384 像素高。我的意思default
是,当第一次CXXXDlg::OnSize(UINT nType, int cx, int cy)
调用时,值为cx
640,值为cy
384。场景对话框的默认大小以对话框为单位,我可以使用MapDialogRect()来转换对话框单位到像素,我该如何做相反的事情?和可以设置对话框的大小,但不能设置MoveWindow()
默认大小。我也尝试过这样的GetDialogBaseUnits():SetWindowPos()
DWORD dw = GetDialogBaseUnits();
WORD m_duXx4 = LOWORD(dw);
WORD m_duYx8 = HIWORD(dw);
int dialogUnitX = MulDiv(640, 4, m_duXx4);
int dialogUnitY = MulDiv(384, 8, m_duYx8);
原来dialogUnitX
是 is320
和dialogUnitY
is 192
,但是当我将对话单元设置为 时320 * 192
,我得到的CXXXDlg::OnSize(UINT nType, int cx, int cy)
不是640 * 384
but 560 * 336
。有任何想法吗?