WEB开发网
开发学院软件开发VC MFC教程(13)-MFC工具条和状态栏(2) 阅读

MFC教程(13)-MFC工具条和状态栏(2)

 2007-10-04 20:11:26 来源:WEB开发网   
核心提示:然后,工具条调用ControlBar::EnableDocking使泊位对工具条有效,MFC教程(13)-MFC工具条和状态栏(2)(11),如果在调用ControlBar::EnableDocking时指定的泊位目的边和边框窗口能够泊位的边不符合,那么工具条不能泊位,微型边框窗口和泊位条创建完成之后,调用Contro

然后,工具条调用ControlBar::EnableDocking使泊位对工具条有效,如果在调用ControlBar::EnableDocking时指定的泊位目的边和边框窗口能够泊位的边不符合,那么工具条不能泊位,它将漂浮。

最后,边框窗口调用CFrameWnd::DockControlBar泊位工具条。

泊位后形成窗口层次关系

边框窗口、泊位条、工具条的包含关系如下:

边框窗口

泊位条1

工具条1

工具条2

泊位条2

边框窗口包含1到4个泊位条子窗口,每个泊位条包含若干个控制条子窗口。

泊位的实现

CFrameWnd::EnableDocking指定哪边接受泊位,则为泊位准备一个泊位条。泊位条用CDockBar描述,派生于CControlBar。如果指定任何边都可以泊位,则创建四个CDockBar对象和对应的HWND窗口。然后,调用ControlBar::EnableDocking在对应的泊位条内安置工具条。

MFC设计了CDockBar类和CFrameWnd的一些函数来实现泊位,具体代码实现在此不作详细讨论。

实现漂浮工具条的方法:

边框窗口调用FloatControlBar实现工具条的漂浮。

漂浮的实现:

首先,创建一个微型漂浮边框窗口,该边框窗口有一个泊位条。

然后,在微型边框窗口的泊位条内放置工具条。

MFC设计了微型边框类CMiniFrameWnd,在此基础上派生出微型泊位边框窗口类CMiniDockFrameWnd。CMiniDockFrameWnd增加了一个CDockBar类型成员变量m_wndDockBar,即泊位条。

在CMiniDockFrameWnd对象被创建时,创建泊位条m_wndDockBar。泊位条m_wndDockBar的父窗口如同CMiniDockFrameWnd的父窗口一样,是调用FloatControlBar的边框窗口,而不是微型泊位边框窗口。微型边框窗口和泊位条创建完成之后,调用ControlBar::DockControlBar泊位工具条在CMiniDockFrameWnd窗口。

具体的代码实现略。

上一页  6 7 8 9 10 11 

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接