MainFrame中怎么使用View类名

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:19:17
本菜鸟最近做一个分割窗口的程序,第一步先将主框架窗口拆分成上下两格,第二步将上面那格拆成两格。在第一步的时候,用CreateView进行视图拆分,其中有个参数RUNTIME_CALSS(C...View类名)。问:怎样才能在框架类中识别C...View类名?如果添加该类的头文件,那么,会报错GetDocument()函数重复包含。
无法识别:
C:\Program Files\Microsoft Visual Studio\MyProjects\SplitterStatical\MainFrm.cpp(116) : error C2653: 'CSplitterStaticalView' : is not a class or namespace name
添加'SplitterStaticalView.h' 后
c:\program files\microsoft visual studio\myprojects\splitterstatical\splitterstaticalview.h(21) : error C2143: syntax error : missing ';' before '*'
c:\program files\microsoft visual studio\myprojects\splitterstatical\splitterstaticalview.h(21) : error C2501: 'CSplitterStaticalDoc' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\myprojects\splitterstatical\splitterstaticalview.h(21) : error C2501: 'GetDocument' : missing storage-class or ty

若是将视图窗口分割成2个窗口,需要自己先创建2个新类,如CFirstView和CSecondView,然后

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
BOOL bCreateSpltr = m_wndSplitter.CreateStatic(this,1,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CFirstView),CSize(600,100),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CSecondView),CSize(600,100),pContext);

return (bCreateSpltr);

//return CFrameWnd::OnCreateClient(lpcs, pContext);
}