void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)//这里设置你想固定的大小
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
lpMMI->ptMaxTrackSize.x=1000;
lpMMI->ptMaxTrackSize.y=650;
lpMMI->ptMinTrackSize.x=1000;
lpMMI->ptMinTrackSize.y=650;
CFrameWndEx::OnGetMinMaxInfo(lpMMI);
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)//这里禁止窗口最大最小化
{
if( !CFrameWndEx::PreCreateWindow(cs) )
return FALSE;
cs.style &= ~FWS_ADDTOTITLE;
cs.style&=~WS_MAXIMIZEBOX;
return TRUE;
}
在BEGIN_MESSAGE_MAP中加入:ON_WM_GETMINMAXINFO()
然后就可以设置其窗口的大小了,比如下面这个,设置最小的尺寸为600×480。
void CConfigDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
lpMMI->ptMinTrackSize.x= 600;
lpMMI->ptMinTrackSize.y= 480;
}
属性上禁止其大小改变,还有一种方法是重载OnSize什么也不做