设置最小尺寸,当拖动缩小窗体到一定尺寸时,窗体达到设定尺寸值不在缩小,问题很简单,但是泡了半天网居然不好找,在MFC中大概有这几种方法:
<span style="white-space:pre"> </span>CFrameWndEx::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
CRect cr;
GetWindowRect(cr);
if (cx < 800||cy<600)
{
if (cx < 800)
{
cx = 800;
}
if (cy < 600)
{
cy = 600;
}
cr.right = cr.left + cx;
cr.bottom = cr.top + cy;
MoveWindow(cr, TRUE);<span style="white-space:pre"> </span>// 第一种
SetWindowPos(NULL, 0, 0, cr.right, cr.bottom, SWP_NOMOVE);<span style="white-space:pre"> </span>// 第二种
return;
}
这两种能实现这种功能,但是窗体抖动的厉害,所以啊,白搞了!
第三种倒是挺爽:
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (lpMMI->ptMinTrackSize.x <= 888)
lpMMI->ptMinTrackSize.x = 888;
if (lpMMI->ptMinTrackSize.y <= 666)
lpMMI->ptMinTrackSize.y = 666;
CFrameWndEx::OnGetMinMaxInfo(lpMMI);
}