还是关于拆分窗口,我实在没有办法了。
bokei 2000-05-05 05:18:00 这是我在OnCreateClient中的代码,我想创建一个拆分窗口,左右各有一个View,共用一个Document.现在我传递CLeftView和CSplitterView两个类的RUNTIME_CLASS指针过去,如果没有包含CLeftView的头文件,就说CLeftView是一个没有定义的类。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
m_wndSplitter.CreateStatic(this,1,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CLeftView),CSize(100,100),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CSplitterView),CSize(100,100),pContext);
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}
而在CMainFrame.cpp里如果包含了CLeftView的头文件进去,编译时就指着 CSplitterView.h 里的 GetDocument 的定义说
以下出错信息:
--------------------Configuration: Splitter - Win32 Debug--------------------
Compiling...
MainFrm.cpp
e:\vc程序\splitter\splitterview.h(21) : error C2143: syntax error : missing ';' before '*'
e:\vc程序\splitter\splitterview.h(21) : error C2501: 'CSplitterDoc' : missing storage-class or type specifiers
e:\vc程序\splitter\splitterview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers
Error executing cl.exe.
Splitter.exe - 3 error(s), 0 warning(s)
怎么回事?因为我想验证一下手动拆分窗口,所以在建项目是没有选exploer风格。那位大侠肯帮帮我?