建立多文档工程,在“用户界面功能”中勾中拆分窗口选项。
ChildFrm.h中定义对象:CSplitterWnd m_wndSplitter;
在ChildFrm.cpp文件中,将OnCreateClient函数改为如下:
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
//return m_wndSplitter.Create(this,
// 2, 2, // TODO: 调整行数和列数
// CSize(10, 10), // TODO: 调整最小窗格大小
// pContext);
CRect rc;
// 获取框架窗口客户区的CRect对象
GetClientRect(&rc);
// 创建静态分割窗口,两行一列
if (!m_wndSplitter.CreateStatic(this, 2, 1))
return FALSE;
// 创建上面窗格中的视图
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CduoView), CSize(rc.Width(), rc.Height()/2), pContext))
return FALSE;
// 创建下面窗格中的视图
if (!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CduoView), CSize(rc.Width(), rc.Height()/2), pContext))
return FALSE;
return TRUE;
}
{
//return m_wndSplitter.Create(this,
// 2, 2, // TODO: 调整行数和列数
// CSize(10, 10), // TODO: 调整最小窗格大小
// pContext);
CRect rc;
// 获取框架窗口客户区的CRect对象
GetClientRect(&rc);
// 创建静态分割窗口,两行一列
if (!m_wndSplitter.CreateStatic(this, 2, 1))
return FALSE;
// 创建上面窗格中的视图
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CduoView), CSize(rc.Width(), rc.Height()/2), pContext))
return FALSE;
// 创建下面窗格中的视图
if (!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CduoView), CSize(rc.Width(), rc.Height()/2), pContext))
return FALSE;
return TRUE;
}
(ps:如果文件中没有OnCreateClient函数,则在类视图中选中CChildFrame,在重写中添加OnCreateClient()函数)
在ChildFrm.cpp中添加头文件:#include "×××View.h",
在E×××View.h文件中添加#include "×××Doc.h"。