仿造一个网上的例子欲对sdi窗口进行分割.生成的视图类为:CCuteFtpView,然后再添加三个类CView2,CView3,CView4;准备生成类似CuteFtp的视图形式即;三行,中间一行分成两列.
声明了两个变量 CSplitterWnd m_wndSplitter1;
CSplitterWnd m_wndSplitter2;
然后重载OnCreateClient函数
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if(m_wndSplitter1.CreateStatic (this,3,1)==NULL)
return FALSE;
m_wndSplitter1.CreateView (0,0,RUNTIME_CLASS(CCuteFtpView),CSize(100,100),pContext);
m_wndSplitter1.CreateView (2,0,RUNTIME_CLASS(CView4),CSize(100,100),pContext);
if(m_wndSplitter2.CreateStatic (&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,m_wndSplitter1.IdFromRowCol (1,0))==NULL)
return FALSE;
m_wndSplitter2.CreateView (0,0,RUNTIME_CLASS(CView2),CSize(400,300),pContext);
m_wndSplitter2.CreateView (0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext); return true;
}其它没问题,可是出错指针指在:
m_wndSplitter1.CreateView (0,0,RUNTIME_CLASS(CCuteFtpView),CSize(100,100),pContext);
这一行.
错误提示:'CCuteFtpView' : is not a class or namespace name
'classCCuteFtpView' : undeclared identifier提示CCuteFtpView不是一个类.但是CCuteFtpView是框架生成的视图类呀!难到自己生成的类不能放到切割的分窗口中吗?
期待答案
声明了两个变量 CSplitterWnd m_wndSplitter1;
CSplitterWnd m_wndSplitter2;
然后重载OnCreateClient函数
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if(m_wndSplitter1.CreateStatic (this,3,1)==NULL)
return FALSE;
m_wndSplitter1.CreateView (0,0,RUNTIME_CLASS(CCuteFtpView),CSize(100,100),pContext);
m_wndSplitter1.CreateView (2,0,RUNTIME_CLASS(CView4),CSize(100,100),pContext);
if(m_wndSplitter2.CreateStatic (&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,m_wndSplitter1.IdFromRowCol (1,0))==NULL)
return FALSE;
m_wndSplitter2.CreateView (0,0,RUNTIME_CLASS(CView2),CSize(400,300),pContext);
m_wndSplitter2.CreateView (0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext); return true;
}其它没问题,可是出错指针指在:
m_wndSplitter1.CreateView (0,0,RUNTIME_CLASS(CCuteFtpView),CSize(100,100),pContext);
这一行.
错误提示:'CCuteFtpView' : is not a class or namespace name
'classCCuteFtpView' : undeclared identifier提示CCuteFtpView不是一个类.但是CCuteFtpView是框架生成的视图类呀!难到自己生成的类不能放到切割的分窗口中吗?
期待答案
新错误出现在:CuteFtpView.h的
public:
CCuteFtpDoc* GetDocument();这一行
错误提示:
c:\program files\microsoft visual studio\myprojects\cuteftp\cuteftpview.h(21) : error C2143: syntax error : missing ';' before '*'
c:\program files\microsoft visual studio\myprojects\cuteftp\cuteftpview.h(21) : error C2501: 'CCuteFtpDoc' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\myprojects\cuteftp\cuteftpview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers
class CCuteFtpDoc;