zoukankan      html  css  js  c++  java
  • BCGControlBar使用方法(转)

    一.   关于BCGControlBar。

    BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的应用程序(用户工具栏、菜单、键盘等等)。BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC扩展类。这些都可以很容易的应用于您的应用程序,节省大量的开发和调试时间。BCGControlBar专业版的扩展库,包含了大量高级界面,比如,可分离的表窗口,自动隐藏窗体,托拽的时候能够显示贴靠控件和工具栏的内容,新增帖靠算法(类似于在Microsoft Visual Studio.NET环境和Microsoft Visio中引入的算法),具有可分离的快捷栏,制表工具栏,语法检验和IntelliSense-style支持的文本控件,完全的平面视觉等等。除了与MFC兼容的控制栏的执行部分,这个库的其它结构完全是由我们自己设计的。大部分新的系统特性都是由库的内核自动激活和管理的。

    二.   下载并安装BCGControlBar。

    在BCGSoft的官网(http://www.bcgsoft.com/)选择BCGControlBar,并下载。由于BCGControlBar是一个付费的软件,所以,在其官网上只能免费下载到其evaluation version(评估版本)。将下载的BCGControlBarProEvaluation.exe打开,就可以进行BCGControlBar的安装了。默认会安装在C:Program FilesBCGSoftBCGControlBarPro路径下。

    三.   使用BCGControlBar创建工程。

    1. 安装的BCGControlBar已经将要用到的库进行了编译与链接,并放在了安装目录(默认为:C:Program FilesBCGSoftBCGControlBarPro)的Bin目录下。

    BCGControlBar要使用的dll也已经放到system32目录下。同时,在BCGCBPro目录下也有其需要的头文件。在其安装目录下的Examples中有其随带的Demo程序,可以运行,并看到其运行效果。

    在编译之前,要先设置其附加包含目录和附加库目录

    l  vc6.0在其tools>>options>>directoris下进行设置。在show directories for选择include files,添加BCGControlBar安装目录下的BCGCBPro目录。然后再选择show directories for下的Library files并添加BCGControlBar安装目录下的bin目录。

    l  vs2010中在工程的属性页中的配置属性>>VC++目录下可以设置包含目录的库目录。

    设置完成后就可以编译运行,看到所编译的例子的执行效果。

    1. 安装BCGControlBar后可以在新建项目的时候选择BCGCBPro AppWizard向导进行项目的创建。在其step中会添加与BCGControlBar有关的一些选项,可以在创建的时候对其进行相应的设置。设置完成后,选择finish就可以创建相应的BCGControlBar项目。在其中可以很方便的使用其控件。

    2. 对于已经存在的项目,也可以通过修改其中的一些选项和代码,使其变成BCGControlBar的项目,可以使用BCGControlBar。在使用之前先要设置其包含目录和其库目录,其设置方法见以上1之中。其具体的实现步骤如下(在修改之前最好对工程进行一个备份):

    1)         在头文件stdafx.h中加入#include "BCGCBProInc.h"。

    2)         为自己的App类添加基类CBCGPWorkspace。如:class CMyApp : public CWinApp, public CBCGPWorkspace。

    3)         在App类的InitInstance()函数中添加AfxOleInit()。

    4)         在InitInstance()函数中添加SetRegistryKey(_T("MyCompany\MyProduct"))。

    5)         在App类的ExitINstance()函数中添加BCGCBProCleanUp()。

    6)         将MDI中的一些类用BCGControlBar来进行转换:

    CFrameWnd -> CBCGPFrameWnd

    CMDIFrameWnd -> CBCGPMDIFrameWnd

    CMDIChildWnd -> CBCGPMDIChildWnd

    CToolBar -> CBCGPToolBar

    CStatusBar ->CBCGPStatusBar.

    可以在StdAfx.h中添加如下代码

    #define CFrameWnd CBCGPFrameWnd

    #define CMDIFrameWnd CBCGPMDIFrameWnd

    #define CMDIChildWnd CBCGPMDIChildWnd

    #define CToolBar CBCGPToolBar

    #define CStatusBar CBCGPStatusBar

    (7)如果希望添加Microsoft Office 2007/2010-style Ribbon Bar,可以参考以下文章,学习这些技术:

    Office 2007/2010-style Ribbon Bar

    Ribbon Backstage View - Walkthrough

    Ribbon Designer

    (8)为CmaimFrame类添加嵌入菜单对象。在CmainFrame类中添加成员变量CBCGPMenuBar m_wndMenuBar。然后在其OnCreate函数中加入如下代码:

    m_wndMenuBar.Create (this);

    m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);

    DockControlBar (&m_wndMenuBar);

    (9)在CMainFrame::OnCreate的开始加入应用程序可视化的风格。其函数如下:

    CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (manager));

    其中manager的取值与风格对照如下:

    CBCGPVisualManager

    MS Office 2000/VC++ 6.0 look

    CBCGPVisualManagerXP

    MS Office XP/Visual Studio.NET look

    CBCGPVisualManager2003

    MS Office 2003 look

    CBCGPVisualManagerVS2005

    Visual Studio 2005 look

    CBCGPWinXPVisualManager

    Native Windows XP/Vista/Windows 7 look.

    CBCGPVisualManager2007

    MS Office 2007 look

    CBCGPVisualManagerVS2008

    Visual Studio 2008 look

    CBCGPVisualManagerVS2010

    Visual Studio 2010 look

    CBCGPVisualManager2010

    MS Office 2010 look

    CBCGPVisualManagerScenic

    Windows 7 Ribbon look.

     (10)   生成程序,并执行它。

  • 相关阅读:
    宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 21 合并两个有序链表
    Java实现 LeetCode 21 合并两个有序链表
    Java实现 LeetCode 21 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/whl2012/p/4799674.html
Copyright © 2011-2022 走看看