开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 13659|回复: 0

BCG MFC界面开发帮助文档:库结构(一)

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-9-29 10:54:24 | 显示全部楼层 |阅读模式
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版本构建应用程序的图片:

应用程序主框架窗口通常由CBCGPFrameWndCBCGPMDIFrameWnd.表示,主框架称为"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控制栏上执行的所有布局操作。

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-27 11:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表