MFC技术系列(四)--Frame窗口之Control Bar(1)

接上篇,  MFC技术系列(四)--Frame窗口(2)MFC中主要涉及到下面的文件和类:barcore.cpp (CControlBar)dockcont.cpp (CDockContext)bardock.cpp (CDockBar)winfrm2.cpp (CFrameWnd)bartool.cpp (CToolBar) MFC的Frame窗口除了支持Doc-
摘要由CSDN通过智能技术生成

接上篇,  MFC技术系列(四)--Frame窗口(2)

MFC中主要涉及到下面的文件和类:

barcore.cpp CControlBar

dockcont.cpp CDockContext

bardock.cpp CDockBar

winfrm2.cpp CFrameWnd

bartool.cpp CToolBar

 

MFCFrame窗口除了支持Doc-View框架外,还提供了一个重要特性,就是Dock,即:我们可以从CControlBar派生各种Bar,通过CFrameWnd所提供的Dock方法,可以将该Bar Dock到四个方向,或者让其Floating(通过另一个特殊的Frame窗口来支持,后面将会解释)。在MFC提供的默认SDI或者MDI框架代码中,我们能看到类似如下的代码:

    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

    EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);

其中,分别表示起如下作用:

1.     让该tool bar可以dock到任何边

2.       初始化Frame窗口的四个dock bar

3.       tool bardock bar关联起来(做为dock bar的子窗口)

实际上,CFrameWnd提供的Dock功能是由其内部的四个Dock bar所提供的(分别对应四个边)。

1.1           CControlBar

先说说CControlBar类,它的定义位于afxext.h中,实现位于barcore.cpp中。在MFC中说到Bar,一般都是指继承该类而来。既然CControlBar是依赖于CFrameWnd,它的m_pDockSite方法即用来保存其所在的Frame窗口对象的指针&#

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值