问题解决——限制窗口的最小尺寸

来源:互联网 发布:淘宝双十一活动要求 编辑:程序博客网 时间:2024/04/29 21:23

以前都是用对话框做东西,这次用的SDI。

突然想限制窗口的最小尺寸,避免缩成一团,就很随意的先百度了一下。

网上好多方法,有在OnSize里面SetWindowPos或者MoveWindow的,也有在OnSizing里面用这两个函数的。

显然这都不是好办法,会刷屏乱闪。


正确而又优雅的做法很简单,处理框架窗口的WM_GETMINMAXINFO消息即可。

例如

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI){// TODO: 在此添加消息处理程序代码和/或调用默认值if (lpMMI->ptMinTrackSize.x<=951){lpMMI->ptMinTrackSize.x=951;}if (lpMMI->ptMinTrackSize.y<=681){lpMMI->ptMinTrackSize.y=681;}CFrameWndEx::OnGetMinMaxInfo(lpMMI);}
只要指定了值,剩下的事情,MFC会给你做好,就是这么简单。

22 0
原创粉丝点击