BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。 BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。
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. Sliders Sliders(或splitters)由CBCGPSlider类表示,当docking control停靠到 dock site 或另一个控制栏时,框架会自动创建Sliders。当工具栏停靠到dock site时,新的slider被称为"default slider",它包含有关其调整大小的对接控制栏布局的所有信息。默认sliders方式在扩展dock manager维护的控制栏常规列表中,并控制在"contained" docking控制栏上执行的所有布局操作。
|