如何以编程方式更改基于对话框的 window 的大小和位置?

How to change the size & position of a dialog-based window programmatically?

我有创建基于对话框的代码window:

m_window = CreateDialogParam(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc, 0);
ShowWindow(m_window, SW_SHOW);

如何以编程方式而不是从资源 (.rc) 文件更改基于对话框的 window 的大小和位置?

可以使用 SetWindowPos() 更改对话框的大小,但您不太可能希望对对话框执行此操作 - 或者您还必须调整 all 的大小它 children。通常我只在对话框包含一个控件以使其全尺寸时才这样做,通常是列表视图或 HTML.

同样的功能可以通过SWP_NOSIZE选项改变位置。