BCGControlBar Professional Edition for MFC(专业版)引入非基于MFC的对接体系结构,这意味着不再从CControlBar派生所有控件条,专业版本中所有控件栏的基类是CBCGPBaseControlBar(又从CBCGPWnd派生)。
专业版本体系结构的主要思想与MFC并没有太大区别,Pro版本与MFC(和BCGControlBar库标准版)高度兼容。
在下面,您可以看到使用Pro版本构建应用程序的图片:

应用程序主框架窗口通常由CBCGPFrameWnd 或CBCGPMDIFrameWnd.表示,主框架称为”dock site”。所有控制栏都可以具有三种类型的父项:”dock site”、”dock bar”、 “miniframe window”,控制栏可以分为两种常规类型:不可调整大小的控制栏(例如状态栏和工具栏)和可调整大小的控制栏。在“可调整大小”的控制栏下,我们指的是可以由splitters(或 “sliders”)调整大小,可以形成”containers”(可以将一个控制条停靠到另一个控制条并在它们之间创建splitter)的栏,附加(docked)到dock bars。所有不可调整大小的控制栏应从CBCGPControlBar.派生,所有可调整大小的控制栏都应从CBCGPDockingControlBar派生(此类实现了将基本功能停靠在停靠站点,放置在容器中并自动隐藏等)。
Dock site.
主框架窗口或dock site是所有控制栏和微型框架窗口的所有者,它包含CBCGPDockManager类的嵌入式成员(以后为docking manager)。 docking manger维护属于dock site的所有控制栏的列表,该列表按照在dock site外部边缘创建的栏排在第一位的方式排序,当需要重新计算布局时,它将遍历此列表,将每个控制栏的布局调整为当前(dock site的边界矩形),并减去控制栏区域。 每次需要调整停靠布局时,您可以调用mainframeclass :: AdjustDockingLayout或RecalcLayout,此调用将重定向到docking manager。
Dock bar.
每个主框架都可以沿着边框(与边框对齐)放置”dock bars”,Dock bar是CBCGPDockBar类的控制栏。Dock bar可以接受CBCGPControlBar派生的对象(通常是工具栏), 应该在主框架窗口初始化期间通过调用mainframeclass :: EnableDocking(DWORD dwDockStyle)创建Dock bars。如果要在主框架窗口的某些侧面启用 “auto hide” ,则应调用mainframeclass::EnableAutoHideBars(DWORD dwDockStyle),该调用将在每个dock bar旁边创建CBCGPAutoHideDockBar对象。您仍然可以使用CBRS_样式指定对接对齐,每个dock bar都分为 “dock rows”(包含一个列表),Dock rows由CBCGPDockBarRow类表示。每个dock row均包含工具栏列表,当工具栏被停靠(例如,通过鼠标)或在同一停靠栏内从一行移动到另一行时,框架将创建新行并相应调整dock bar的大小,或将工具栏放置在现有行上。
Miniframe window.
当控制栏浮动时,它位于miniframe window中,miniframe window分为两类CBCGPMiniFrameWnd (只能包含一个控制栏)和CBCGPMultiMiniFrameWnd (可以包含多个控制栏)。浮动控制栏时,框架会自动创建一个小框架窗口。 要使控制栏在代码中浮动,可以调用CBCGPBaseControlBar::FloatControlBar ()。请注意,控制栏变为浮动状态时,其父项会自动更改并设置为miniframe window。停靠控制栏时,其父项将更改回 dock bar(用于工具栏)或dock site(用于可调整大小的控制栏)。
Sliders
Sliders(或splitters)由CBCGPSlider类表示,当docking control停靠到 dock site 或另一个控制栏时,框架会自动创建Sliders。当工具栏停靠到dock site时,新的slider被称为”default slider”,它包含有关其调整大小的对接控制栏布局的所有信息。默认sliders方式在扩展dock manager维护的控制栏常规列表中,并控制在”contained” docking控制栏上执行的所有布局操作。
如果您对BCGSoft的产品感兴趣,也可直接咨询“在线客服”!
现购买BCGSoft正版授权最高直降万元,欢迎点击了解产品正版授权>>

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!