MainFrm.cpp //主Frame,用户承载window和view
SPLeftTopView.cpp //左上的视图类
SPLeftBottomView.cpp //左下视图类
SPRightView.cpp //右方视图类
MainFrm.h中添加:
// 属性
protected:
CSplitterWnd m_wndSplitter;
CSplitterWnd m_wndLeftSplitter;
MainFrm.cpp中添加:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateStatic(this,1,2); //建立外层架构,一行两列
m_wndLeftSplitter.CreateStatic( //建立内层架构,两行一列
&m_wndSplitter, //以外层splitter为父窗体
2,1,
WS_CHILD|WS_VISIBLE,
m_wndSplitter.IdFromRowCol(0,0) //指定新的splitter占据外层架构的左方格
);
m_wndLeftSplitter.CreateView(
0,0,
RUNTIME_CLASS(SPLeftTopView),
CSize(600,300),
pContext
);
m_wndLeftSplitter.CreateView(
1,0,
RUNTIME_CLASS(SPLeftBottomView),
CSize(600,300),
pContext
);
m_wndSplitter.CreateView(
0,1,
pContext->m_pNewViewClass,
CSize(80,600),
pContext
);
//激活View
SetActiveView((CView *)m_wndSplitter.GetPane(0,1));
//设定每个表格大小
m_wndSplitter.SetColumnInfo(0,rect.Width()*3/4,0);
m_wndSplitter.SetColumnInfo(1,rect.Width()/4,0);
m_wndLeftSplitter.SetRowInfo(0,rect.Height()/2,0);
m_wndLeftSplitter.SetRowInfo(1,rect.Height()/2,0);
return true;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bitxinhai/archive/2008/04/16/2298321.aspx