划分任意子窗口
7.4.2 划分任意子窗口
除了上面分割视图的方法以外,还可以划分任意子窗口。划分任意子窗口时也是先调用CreateStatic方法创建静态分割的窗体,然后调用CreateView方法创建子视图,但是不为要分割的子窗口创建视图,而是调用CreateStatic方法继续分割窗体。
例7.3 划分任意子窗口。(实例位置:光盘\TM\sl\7\3)
步骤如下:
(1)创建一个单文档应用程序。
(2)在框架类的头文件中声明CSplitterWnd类对象m_wndSplitter。
(3)重载框架类的OnCreateClient虚方法,在该方法中分割视图窗口。代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,
CCreateContext* pContext)
{
m_wndSplitter.CreateStatic(this,1,2); //创建分割窗口
//创建视图
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CRandomDivisionView),
CSize(100,200), pContext);
m_ChildWnd.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE,
m_wndSplitter.IdFromRowCol(0,1)); //为子窗口创建分割窗口
m_ChildWnd.CreateView(0,0,RUNTIME_CLASS(CRandomDivisionView),
CSize(100,100),pContext);
m_ChildWnd1.CreateStatic(&m_ChildWnd,1,2,WS_CHILD|WS_VISIBLE,
m_ChildWnd.IdFromRowCol(1,0)); //为子窗口创建分割窗口
m_ChildWnd1.CreateView(0,0,RUNTIME_CLASS(CRandomDivisionVi

