1.重载虚函数PreCreateWindow
BOOL CMainWindow::PreCreateWindow(CREATESTRUCT& cs)
{
//使最大化失效
cs.style = cs.style&~WS_MAXIMIZEBOX;
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
return TRUE;
}
加上 cs.style&= ~WS_THICKFRAME; 可以让窗口大小不能改变,也不能移动。
2.拦截最大化命令
void CMainWindow::OnSysCommand (UINT nID, LPARAM lparam)
{
//使系统菜单中的最大化失效
if(((nID & 0xFFF0) != SC_MAXIMIZE) && ((nID & 0xFFF0) != SC_MOVE))
CFrameWnd::OnSysCommand (nID, lparam);
}
在message map中添加ON_WM_SYSCOMMAND()。