我想以像素为单位设置对话框的默认大小,比如 640 像素宽和 384 像素高。我的意思default是,当第一次CXXXDlg::OnSize(UINT nType, int cx, int cy)调用时,值为cx640,值为cy384。场景对话框的默认大小以对话框为单位,我可以使用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和dialogUnitYis 192,但是当我将对话单元设置为 时320 * 192,我得到的CXXXDlg::OnSize(UINT nType, int cx, int cy)不是640 * 384but 560 * 336。有任何想法吗?