vc 分隔视图

来源:互联网 发布:同花顺mac版level2 编辑:程序博客网 时间:2024/05/16 19:39

1.新建基类为CMDIChildWnd的新类,命名为CDemoChild.

2.在头文件中添加保护类型的成员变量
CSplitterWnd m_wndSplitter1;
CSplitterWnd m_wndSplitter2;

3.为类添加OnCreateClient。

4.在OnCreateClient函数体中添加
CRect rc;
GetClientRect(rc);

CSize paneSize1(rc.Width()/3,rc.Height());//定义分割后视图的显示位置
CSize paneSize2(rc.Width()*2/3,rc.Height()/2);//定义分割后视图的显示位置

m_wndSplitter1.CreateStatic(this,1,2);//第一次分割,将视图分割为
____________________
______|______________
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CDemoForm),paneSize1,pContext);
                                                                           //DemoForm为要添加的视图
m_wndSplitter2.CreateStatic(&m_wndSplitter1,2,1,WS_CHILD | WS_VISIBLE,m_wndSplitter1.IdFromRowCol(0,1));//第二次分割,将视图分割为

_____________________
         |
         |________________
         |
____ |_________________
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CDemoView),paneSize2,pContext);
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CDemoView),paneSize2,pContext);
//DemoView为要添加的视图


5..在执行类中的InitInstance()中添加

CSingleDocTemplate* pDocTemplate2;
pDocTemplate2= new CSingleDocTemplate(
   IDR_ELECSHTYPE_THREE,          // 资源id
   RUNTIME_CLASS(CMyFoxMailDoc),//视图 关联的文档类
   RUNTIME_CLASS(CMyFormView),//被分割的视图的类,基类是CChildFrame
// RUNTIME_CLASS(CThreeDemoFrame),   // 注意,此句注释掉了
   NULL);//将这个类设为空
AddDocTemplate(pDocTemplate2);