一 在单文档/视图结构中 将窗口进行分割
步骤如下:
(1) 在框架类中定义一个CSplitterWnd类对象 m_wndSplitter
(2) 重载框架类的OnCreateClient()函数
这其中要注意:
在CMainFrame的源文件cpp中添加工程View头文件
如: #include "SplitWndView.h"
在视图类头文件中 ,对工程DOC类进行声明
如: class CSplitWndDoc;
二 任意划分子窗口,并使用表单作为子窗口的视图
步骤 :
(1) 创建一单文档/视图结构应用程序
(2) 为工程添加对话框资源
为对话框添加类, 此处要特别注意派生类的基类是CFormView 而不是通常的CDialog 选错的话,编译没问题,但运行时会出错
将对话框表单属性中的Style值设置为Child , 并将VISIBLE 属性设置为FALSE 如果不设置的话,运行时会报ASSERT断言错
(3) 添加位图资源,用作对话框的背景
(4) 为派生的对话框表单添加WM_PAINT消息
(5)在框架类中定义两个CSplitterWnd ,分别作为父窗口与子窗口
CSplitterWnd m_SplitterWnd;
CSplitterWnd m_ChildWnd;
(6) 在框架类源文件中,添加对话框表单的头文件 , 因为框架类源文件中需要使用对话框表单
(7)重载框架类的OnCreateClient方法,分割窗口
注意: 有两处重要点,一是对话框表单的基类为CFormView 一是将对话框表单属性中的Style值设为Child
参考资料:
http://hi.baidu.com/blackscreen/blog/item/c0de2f8f7e7849e7f01f3653.html
http://www.cnblogs.com/peijihui/archive/2009/12/13/1623035.html