正常情况下,我们无需修改mfc的默认设置,但需要美化或者自绘的时候就需要改一下了.
首先在框架cpp中规定窗体大小:

1
2
3
4
5
6
7
8
9
10
11
12
13
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE | WS_MINIMIZEBOX;
cs.cx=816;
cs.cy=539;
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;
}

如上,我们创建了一个客户区大小为800×480的窗体(816×539去掉标题栏和边框),且无系统菜单,禁止更改窗体大小.
一般情况下,规定窗体大小是为了自绘诸如按钮,标题栏等等等下.
该操作需要在窗体绘制前执行(PreCreateWindow).

下面是去掉相应系统默认东西的代码:(在WM_OnCreate中)

1
2
SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0); // 去掉边框
this->SetMenu(NULL); // 去掉菜单栏

以上操作就可以去掉主框架窗体的边框和菜单栏.
一般情况下还需要在View类中去掉边框.