1. 程式人生 > >問題解決——限制窗體的最小尺寸

問題解決——限制窗體的最小尺寸

trac frame content ng- 指定 max popu min ons

曾經都是用對話框做東西,這次用的SDI。

突然想限制窗體的最小尺寸,避免縮成一團,就非常任意的先百度了一下。

網上好多方法,有在OnSize裏面SetWindowPos或者MoveWindow的,也有在OnSizing裏面用這兩個函數的。

顯然這都不是好辦法,會刷屏亂閃。


正確而又優雅的做法非常easy,處理框架窗體的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會給你做好,就是這麽簡單。


問題解決——限制窗體的最小尺寸