使用CSplitterWnd类分割窗口

 

一 在单文档/视图结构中 将窗口进行分割

 

    步骤如下:

 

 

(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

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水迎朝阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值