窗口大小改变时窗口会接收到 WM_GETMINMAXINFO 消息获取窗口最小、最大的限制信息,处理该消息就能限制窗口大小。
可以通过 类向导 处理,也可以手动添加消息处理,在消息映射时:
BEGIN_MESSAGE_MAP(CPaperEditorDlg, CDialogEx)
ON_WM_GETMINMAXINFO()
END_MESSAGE_MAP()
头文件:
void OnGetMinMaxInfo(MINMAXINFO * lpMMI);
实现:
//限制窗口最小大小
void CPaperEditorDlg::OnGetMinMaxInfo(MINMAXINFO * lpMMI)
{
lpMMI->ptMinTrackSize.x = 1017;
lpMMI->ptMinTrackSize.y = 711;
lpMMI->ptMaxTrackSize.x = 1366;
lpMMI->ptMaxTrackSize.y = 768;
CDialogEx::OnGetMinMaxInfo(lpMMI);
}