通过VC2010向导创建一个标准的MFC单文档框架,去掉文档/视图结构支持。然后,在资源中插入一个FormView窗口,在MainFrame的Create中创建并显示此视图窗口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
int
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if
(CFrameWnd::OnCreate(lpCreateStruct) == -1)
return
-1;
pView = (CMainView *)(RUNTIME_CLASS(CMainView)->CreateObject());
if
(!pView)
{
MessageBox(_T(
"创建视图不成功!"
));
return
0;
}
CRect crt;
CCreateContext Cnt;
GetClientRect(crt);
Cnt.m_pCurrentDoc = NULL;
//GetDocument();
//创建新添加的视图,资源ID为:IDD_FORMVIEW
pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, crt,
this
, IDD_FORMVIEW, &Cnt);
pView->ShowWindow(SW_SHOWNORMAL);
pView->MoveWindow(&crt);
//----------------------------------------------------------------------
if
(!m_wndStatusBar.Create(
this
))
{
TRACE0(
"未能创建状态栏\n"
);
return
-1;
// 未能创建
}
m_wndStatusBar.SetIndicators(indicators,
sizeof
(indicators)/
sizeof
(
UINT
));
return
0;
}
|
1
2
3
4
5
6
|
BOOL
CMainView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此添加专用代码和/或调用基类
cs.style &= ~WS_BORDER;
/* 去除视图凹陷效果 */
return
CFormView::PreCreateWindow(cs);
}
|
注意,修改MainFrame中的OnCmdMsg,OnSetFocus函数中的视图变量
本文转自Chinayu201451CTO博客,原文链接: http://blog.51cto.com/9233403/1967107,如需转载请自行联系原作者