首页 > 代码库 > 问题解决——限制窗口的最小尺寸
问题解决——限制窗口的最小尺寸
以前都是用对话框做东西,这次用的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会给你做好,就是这么简单。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。