应用Vc6.0实现一档多视图的基本方法为:
在主框架类中定义CSplitterWnd成员变量,起作用是分割视窗,然后在主框架类中重载OnCreateClient()函数,在此函数中划分多个子视窗,定义是视窗的大小,位置及与其相关联的视图类,然后将刚创建的子视窗与各个视图类建立一一对应关系。
相关代码:在CMainFrame类中添加
class CMainFrame : public CFrameWnd
{
public:
CSplitterWnd m_wndSplitter1;
}
然后重载
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
if(m_wndSplitter1.CreateStatic(this,1,2)==NULL)
return FALSE;
m_wndSplitter1.CreateView(0,0, RUNTIME_CLASS(CLeftView),CSize(250,0), pContext);
m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(CMyView),CSize(0,0),pContext);
// return CFrameWnd::OnCreateClient(lpcs, pContext);
return true;
}
其中CLeftView,CMyView 为两个视图类。
这里只是简单的一个文档和两个视图的例子,其中要注意在原有的视图类中加入
#include"CMyDoc.h" ,因为要使用文档的内容!具体的语言我自己还表达的不是很清楚,见谅!