MFC应用实例:[5]不可改变大小的窗口
1、新建一个单文档的MFC应用,工程的名字为SolidSizeWin
![MFC应用实例:[5]不可改变大小的窗口](https://exp-picture.cdn.bcebos.com/db196cdade49610fee4570b7a56817e950e1d2aa.jpg)
2、未做更该时,运行结果如下:窗口很大而且可以更该
![MFC应用实例:[5]不可改变大小的窗口](https://exp-picture.cdn.bcebos.com/50a010f85856d53dc537055a47d2bb665059caaa.jpg)
3、在工作区选择classview标签,展开SolidSizeWin classes,右击CMainFrame类,在弹出的菜单中选择add WindowsMessage Handler 命令,在弹出的对话框中的新建windows消息/事件列表框中选择WM_GetMinMaxInfo选项,单击add and Edit
![MFC应用实例:[5]不可改变大小的窗口](https://exp-picture.cdn.bcebos.com/cd93a566515985406339d951b5a23a42a17ac4aa.jpg)
4、在函数GetMinMaxInfo()中添加一下代码:void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI){ // 将最小跟踪与最大跟踪设置成相同的值使窗口大小不能改变 lpMMI->ptMinTrackSize.x = 500; // 设定最小跟踪宽度 lpMMI->ptMinTrackSize.y = 400; // 设定最小跟踪高度 lpMMI->ptMaxTrackSize.x = 500; // 设定最大跟踪宽度 lpMMI->ptMaxTrackSize.y = 400; // 设定最大跟踪高度 CFrameWnd::OnGetMinMaxInfo(lpMMI);}
![MFC应用实例:[5]不可改变大小的窗口](https://exp-picture.cdn.bcebos.com/3fe32442a07aa010c520318bbfbb19efa35f3eab.jpg)
5、运行结果如下:窗口的大小固定不允许更改大小
![MFC应用实例:[5]不可改变大小的窗口](https://exp-picture.cdn.bcebos.com/18aebc5f0c14c27b52915b3a2a46b7b1eff939ab.jpg)