我想在窗口最小化的时候,将视图窗口保持在一个固定的数值上
我是这样做的:
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect(0, 0, MINFRAMESIZE_W, MINFRAMESIZE_H);
CalcWindowRect(&rect, 0); lpMMI->ptMinTrackSize.x = rect.Width();
lpMMI->ptMinTrackSize.y = rect.Height(); CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
但是最小化以后,视图窗口的大小总是比我设定的值MINFRAMESIZE_W, MINFRAMESIZE_H小一块,(大约有几十像素的样子)这到底是怎么回事呢?
这里面我从来没有改变过映射方式,应该都是MM_TEXT模式这个不会错的。
我是这样做的:
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect(0, 0, MINFRAMESIZE_W, MINFRAMESIZE_H);
CalcWindowRect(&rect, 0); lpMMI->ptMinTrackSize.x = rect.Width();
lpMMI->ptMinTrackSize.y = rect.Height(); CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
但是最小化以后,视图窗口的大小总是比我设定的值MINFRAMESIZE_W, MINFRAMESIZE_H小一块,(大约有几十像素的样子)这到底是怎么回事呢?
这里面我从来没有改变过映射方式,应该都是MM_TEXT模式这个不会错的。
不好意思,不是很清楚,能解释的详细一些吗?
你是不是值改写OnSize()函数?
{
CMenu *pMenu = GetSystemMenu(FALSE);
pMenu->RemoveMenu(SC_MAXIMIZE,MF_BYCOMMAND);//去掉最大化
pMenu->RemoveMenu(SC_MINIMIZE,MF_BYCOMMAND);//去掉最小化
}