先利用向导创建两个新的View,分别记为CView1和CView2
1、在MainFrame.h中 ,添加成员变量 CSplitterWnd m_Splitter;
2、在MainFrame.cpp中,添加CView1和CView2的头文件;
添加Virtual Function : OnCreateClient() : 添加
m_Splitter.CreateStatic(this,1, 2,WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL);
m_Splitter.CreateView(0,0,RUNTIME_CLASS(CView1), CSize(500, 150), pContext);
m_Splitter.CreateView(0,1,RUNTIME_CLASS(CView2), CSize(250, 150), pContext);
将return CFrameWndEx::OnCreateClient(lpcs, pContext);改成return TRUE;
若不换成return true;当程序运行后,移动窗口,分割条会消失
这样就将窗口一分为二了
出现的问题:
如果分割后,其中一个是工程自动生成的View,如
m_Splitter.CreateView(0,0,RUNTIME_CLASS(CView), CSize(500, 150), pContext);
那么会出现错误;
解决的方法:首先,添加CView的头文件;
其次,在CView的头文件前面添加 class MyDoc;(MyDoc表示工程生成的Doc类)。