(1)新建一个基于对话框的MFC应用程序LimitMaxDialogTest,删除对话框中原有控件。
(2)切换到资源视图,设置对话框Maximize Box 属性为TRUE。
(3)添加WM_GETMINMAXINFO消息的处理函数,代码如下:
void CLimitMaxDialogTestDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
lpMMI->ptMaxSize.x = 800; //设置对话框最大化时的宽度
lpMMI->ptMaxSize.y = 600; //设置对话框最大化时的高度
lpMMI->ptMaxPosition.x = 100; //设置对话框最大化时左边位置
lpMMI->ptMaxPosition.y = 100; //设置对话框最大化时上方位置
CDialogEx::OnGetMinMaxInfo(lpMMI);
}
(4)保存运行工程即可发现对话框最大化时的大小起到限制效果。
注:在程序运行过程中,对话框的大小不能调整,若要使对话框大小可调整,只需设置对话框的Border属性为Resizing即可。