MFC界面开发类库BCGControlBar Pro for MFC帮助文档:库结构(三)

BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。

BCGControlBar Pro for MFC v30.5正式版下载

BCGControlBar Professional Edition for MFC(专业版)引入非基于MFC的对接体系结构,这意味着不再从CControlBar派生所有控件条,专业版本中所有控件栏的基类是CBCGPBaseControlBar(又从CBCGPWnd派生)。

专业版本体系结构的主要思想与MFC并没有太大区别,Pro版本与MFC(和BCGControlBar库标准版)高度兼容。

如何自定义应用程序操作的一些技巧

1. 您可以使用多种新样式的组合来创建新的控制栏:

  • CBRS_BCGP_FLOAT:使控制栏浮动
  • CBRS_BCGP_AUTOHIDE:启用自动隐藏模式
  • CBRS_BCGP_CLOSE:控制栏可以关闭(隐藏)

CBCGPBaseControlBar实现以下虚拟布尔方法来反映这些标志:CBCGPBaseControlBar::CanBeClosedCBCGPBaseControlBar::CanAutoHideCBCGPBaseControlBar::CanFloat,您可以在派生类中重写它们来自定义此行为。

2. 您可以通过重写CBCGPBaseControlBar::CanAcceptBar方法来自定义停靠操作,如果控制栏返回FALSE,则pBar不会停靠在该控制栏上。

3. 该库现在允许两种停靠模式:即时(在第一个Beta中可用 - 当拖动控制栏并与上下文对接时)和标准模式(当使用"drag rectangle"拖动并停靠控制栏时)。 停靠模式可以是BCGP_DOCK_TYPE :: DT_IMMEDIATE或BCGP_DOCK_TYPE :: BCGP_DT_STANDARD,由CBCGPDockManager::m_dockModeGlobal全局定义,您可以随时更改此变量,如果要控制各个控制栏的停靠模式,则可以覆盖 CBCGPBaseControlBar::GetDockMode ()。

4. 如果要创建一个无法浮动的"static"控制栏,并且无法在其之前停靠任何控制栏(例如BCGPOutlookDemo示例中的前景栏),则必须将其创建为非浮动并覆盖CBCGPBaseControlBar::DoesAllowDynInsertBefore方法返回FALSE。从版本6.01开始,如果创建的栏没有CBRS_BCGP_FLOAT样式,则默认实现返回FALSE。

5. Outlook栏的作用类似于常规的标签式控制栏,当您将一个控制栏停靠到另一个时,将根据创建第二个停靠控制栏时指定的以下样式来定义结果样式:

  • CBRS_BCGP_REGULAR_TABS:创建常规的标签式控制栏
  • CBRS_BCGP_OUTLOOK_TABS:创建Outlook样式的标签栏

CBCGPDockingControlBar具有SetTabbedControlBarRTC方法,您可以使用它来自定义控件栏,该控件栏将作为停靠到标签窗口的结果而创建。

6. 您可以将任何CWnd派生的控件插入到Outlook和标签式控制栏中,该库将使用CBCGPDockingCBWrapper 对象自动封装这些栏。这将允许从外观和标签控制栏中分离这些条,同时提供所需的对接操作。CBCGPBaseTabWnd(用作标签窗口和Outlook窗口的基类)具有SetDockingBarWrapperRTC方法,使您可以自定义封装器的外观和操作,将CBCGPBaseTabWnd :: m_bEnableWrapping设置为FALSE来禁用此功能。请注意,封装控制条时,其直接父级将设置为虚拟对接控制条,然后将其插入标签窗口。

7. 如果要添加不可分离的标签,则可以调用CBCGPBaseTabWnd :: AddTab并将bDetachable设置为FALSE或调用CBCGPBaseTabWnd :: EnableTabDetach。

8. 如果要启用/禁用标签交换,请调用CBCGPBaseTabWnd::EnableTabSwap。

9. 强烈建议创建ID不同于-1的所有控制条。

10. 如果您在初始停靠布局中进行了任何更改,则必须清除应用程序注册表项来查看更改(如果您的应用程序将停靠状态保存到注册表中)。

11. 如果启用可分离的标签,则标签窗口可能会动态创建和销毁,请勿将指针保存到动态标签窗口。

12. 如果您为两个非标签对接控制栏调用CBCGPDockingControlBar::AttachToTabWnd,则将使用最后一个参数ppTabbedControlBar返回指向标签窗口的指针,您可以使用它继续将标签添加到新创建的标签窗口(或用于其他操作)。

13. 如果要以任何对齐方式将一个停靠控制栏停靠到另一个,可以调用CBCGPDockingControlBar::DockToWindow。此时原始控制栏必须停靠在某个位置,对于工具栏,您仍然可以使用CBCGPFrameWnd::DockControlBarLeftOf

14. ShowControlBar方法具有第三个非默认参数bActivate,因此某些现有代码可能无法编译。

15. CBCGPDockingControlBar::m_bHideInAutoHideMode是一个新的静态成员,当您调用CBCGPFrameWnd::ShowControlBar时,它控制对接控制栏在自动隐藏模式下的操作。如果此变量设置为TRUE,则控制栏及其自动隐藏按钮将被隐藏,否则控制栏将滑入/滑出。

16. 不要使用GetStyle() & WS_VISIBLE来确定控件栏的可见性,请改用CBCGPBaseControlBar::IsVisible,因为它可以正确处理标签/自动隐藏模式下的可见性状态。

17. 如果要创建一个浮动的、不可调整大小的控制栏,则不应调用DockControlBar,您必须调用CBCGPDockManager::AddControlBar(CBCGPControlBar * pNonFloatingBar,...),该调用将向对接管理器注册此控制栏,并且该控制栏将参与对接布局。

18. 如果要创建非浮动则应使用无CBRS_BCGP_FLOAT样式创建它,并调用DockControlBar(CBCGPDockingControlBar * pResizableBar)。

19. 如果要从停放布局中排除控制栏,请从其停靠栏中删除工具栏,依此类推,您必须调用 CBCGPBaseControlBar::UnDockControlBar,您不应该为自动隐藏模式下的控制栏或驻留在标签窗口中的控制栏调用此方法。

20. 如果控制栏已设置为自动隐藏模式,则必须在调用CBCGPBaseControlBar::FloatControlBarCBCGPBaseControlBar::UnDockControlBar之前调用SetAutoHideMode(FALSE,...)。

21. 您可以使用CBCGPDockingControlBar::m_bDisableAnimation禁用自动隐藏动画。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BCGControlBarPro.v12.00完整源代码(含资源汉化帮助文件和VS2008中文向导)第一部分 这是第1部分,第2部分下载地址: http://download.csdn.net/source/2141936 第3部分下载地址: http://download.csdn.net/source/2141955 使用方法: 1、解压至C:\Program Files目录下(密码:xiaoqing); 2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg; 3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。 与其它不同之处: 1、包含完整的源代码、帮助文件; 2、已经对 BCGPAppWizard2005 中的向导进行汉化,在 Visual Studio 2008 中可使用中文向导 BCGPAppWizard (参考 Visual Studio 2008 原有的中文向导,如果您想学习汉化向导,参考目录是:C:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\Application\templates\2052) 关于静态链接: 1、首先必须在运行向导BCGCBProIntegrationWizard.exe时已经编译静态; 2、在 Visual Studio 建立项目向导时,选择静态链接即可。 关于使用 Office2007、2010 风格: 如果您使用了这些新风格,必须在项目中包括这些资源,否则 debug 版本启动时会报错(缺少资源,release版本不会提示,但显示不正常),具体有二种方法: 1、直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles中所有扩展名为 .rc 的资源包括进来即可。 2、直接在“资源视图”-“您的项目”上点右键,选择“资源包括”,在“资源包括”中的“编译时指令”中的#include "BCGCBPro.rc"后面添加以下代码: #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Aqua.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Luna.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Obsidian.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Silver.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2010White.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleCarbon.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleScenic.rc" 3、如果使用动态链接,请手工编译C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\Office2007_styles.sln或者build_all.dsp 仅为学习使用,下载后24小时内删除,请支持 BCGSoft 购买正版,本人不提供技术支持,不对任何负责。 尊重他人劳动成果,欢迎与大家分享成果。 官方更新说明: http://www.bcgsoft.com/bcgcontrolbarpro-versions.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值