(VC⼀MFC)禁止改变对话框的大小

(VC/MFC)运行对话框后禁止鼠标改变对话框的大小,这个怎么设置
2025-02-24 23:17:59
推荐回答(3个)
回答1:

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;
}

回答2:

在BEGIN_MESSAGE_MAP中加入:ON_WM_GETMINMAXINFO()

然后就可以设置其窗口的大小了,比如下面这个,设置最小的尺寸为600×480。
void CConfigDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
lpMMI->ptMinTrackSize.x= 600;
lpMMI->ptMinTrackSize.y= 480;
}

回答3:

属性上禁止其大小改变,还有一种方法是重载OnSize什么也不做