课题_BCGControlBar使用

合集下载

BCG是大名鼎鼎的MFC界面库

BCG是大名鼎鼎的MFC界面库
virtual BOOL OnShowToolboxMenu (CPoint point, CBCGPToolBoxPage* pPage, int nHit); //添加了 AddToolPage 函数,解决基类 AddToolsPage 无法调用 BMP 文件问题 BOOL AddToolPage (LPCTSTR lpszPageName, LPCTSTR lpszBmpFile, int nImageWidth, const CStringList& lstLabels, CRuntimeClass* pPageClass = RUNTIME_CLASS (CBCGPToolBoxPageEx), CRuntimeClass* pButtonClass = RUNTIME_CLASS (CBCGPToolBoxButton)); BOOL AddToolPage (LPCTSTR lpszPageName, LPCTSTR lpszBmpFile, int nImageWidth, LPCTSTR lpszLabels, CRuntimeClass* pPageClass = RUNTIME_CLASS (CBCGPToolBoxPageEx), CRuntimeClass* pButtonClass = RUNTIME_CLASS (CBCGPToolBoxButton)); };
IMPLEMENT_DYNCREATE(CBCGPToolBoxPageEx, CBCGPToolBoxPage) CBCGPToolBoxPageEx::CBCGPToolBoxPageEx() { m_lpszBmpFile = _T(""); } CBCGPToolBoxPageEx::~CBCGPToolBoxPageEx() { } BEGIN_MESSAGE_MAP(CBCGPToolBoxPageEx, CBCGPToolBoxPage) //{{AFX_MSG_MAP(CBCGPToolBoxPage) ON_WM_SYSCOLORCHANGE() //}}AFX_MSG_MAP END_MESSAGE_MAP()

BCG界面控件三个产品的功能比较,供大家参考选择

BCG界面控件三个产品的功能比较,供大家参考选择

-
-
-
-
BCG 界面控件三个产品的功能比较,供大家参考选择
大家都知道,BCGSoft 公司是微软 MFC 指定合作厂家,所以,在这里就不赘述它的好了。
一、BGControlBar Library Pro Edition
功能:
BCGControlBar 专 业 版 是 MFC 的 一 个 扩 展 库 , 可 以 用 来 构 建 类 似 于 Microsoft® Office 2000/XP/2003/2007/2010、Microsoft Visual Studio(打印、用户定制工具栏、菜单等)和其他一些知名产 品的高级用户界面,例如:日历、网格、编辑和甘特图等。这个扩展库包含了200多个经过精心设计,测 试和具有完备文档的 MFC 扩展类。能够轻松的融入应用程序中。
Microsoft® Office 样式菜单 Microsoft® Office 样式带图像的可停靠菜单栏 Microsoft® Office 2000/XP/2003 菜单(带最近使 用菜单项) 菜单动画和阴影 菜单工具提示 "自绘"菜单图像 左边自绘标志 最近使用(MRU)文件和窗口列表 Microsoft® Office 样式动态项("可分离")菜单 弹出菜单支持右对齐 高级控件栏(面板) 快捷工具栏(Microsoft® Outlook 样式) Visual Studio® 2005/2008样式 Visual Studio®样式可停靠/可调整大小控件栏 Microsoft® Office 样式任务面板 Visual Studio®样式 Tab 控件栏 Visual Studio®样式可分离的 Tab Visual Studio®样式自动隐藏控件栏 Visual Studio® 样式工具箱 高级对话框栏 应用程序栏 增强型状态栏 Microsoft® Office 样式标题栏 持续显示的停靠栏 自动收起控件栏 Microsoft® Office 样式打印预览 高级文档管理 多文档界面 Tab 控件 多文档界面 Tab 分组 持续性多文档界面状态 Tab 样式视图 支持 OLE 文档 定制 自定义工具栏和菜单 在运行时动态创建用户自定义工具栏 自定义上下文菜单 自定义鼠标事件 自定义键盘事件 工作区管理器 用户自定义工具 可选择的定制("Alt+拖拽") -

BCG界面库使用指南.doc

BCG界面库使用指南.doc

MFC-界面库BCG使用指南木文以MDI应用程序为例说明如何在C有的VC++工程中使用BCG界而库,我的开发环境为VS2003。

1,将BCG/BCGCBPro目录路径添加到“项目属性・>C/C++・>常规・>附加包含目录”中,同时将BCG/Bin目录路径添加到“项目属性・>链接器・>常规・>附加库目录”中o 2,确保在CWinApp派生类(设为CMyApp)的Initlnstance()成员函数中调用AfxOleInit();3,在Exitlnslance()函数屮添加:CleanState();BCGCBProCleanUpO;4,在stdafx.h中添加^include n bcg/BCGCBProInc.h H5,为CMyApp添加基类,如下:class CMyApp:public CWinApp,public CBCGPWorkspace6,设置个性化的数据在注册表中的存放位置和需要个性化的特性。

在CMyApp::InitInstance() 函数中添加:SelRegistryBase(_T(n Settings n));InilM ouseM anager(); InilComexiMenuManager(); In itKeyboardMa nager();7,将CMDIFrameWnd 修改为CBCGPMDIFrameWnd,注意MainFrm.h 和MainFrm.cpp中的所有CMDIFrameWnd都要改。

8,将CMDIChildWnd 改成CBCGPMDIChildWnd v h 和・cpp 中的都要改。

9,将CToolBar m wndToolBar 修改成CBCGPToolBar m wndToolBar,并在你的CMainFrame 类中添加- •个CBCGPMenuBar 类型的成员m_wndMenuBar,^ll下示:CBCGPMenuBar m wndMenuBar; // New menu barCBCGPToolBar m_wndToolBar; // Application toolbar10,为使菜q L条生效并且可停靠,在CM ai nFrame::OnCreate()函数『I1添加以下内容: if (!m wndMenuBar.Creale (this)){ TRACE0( "Failed to create menubar\n H); return -1; // fail to createm uTidMenuBaLSetBarStyleO-n uTidMenuBar.GetBarStyleO |CBRS_TOOLT1PS |CBRS_FLYBY |CBRS_S1ZE_DYNAM1C);m wndMenuBar.EnableDocking (CBRS ALIGN ANY);DockControlBar(&m WTidMeniiBar);说明:你可以在你的应用程序中使用多个CBCGPToolBar,它们对应的位图将会自动地合并在-张位图上,然而,你只可以使用-个CBCGPMenuBar对象。

BCGControlBar的使用

BCGControlBar的使用

BCGControlBar的使用BCGControlBar是MFC的一个扩展库其英文全称是"Business Components Gallery ControlBar",它允许你去创建像完全自定义的像Microsoft Office2000/XP/2003/2007/2010/2013 and Visual Studio的界面并且它具有一套丰富专业的GUI控件。

比如:图表,历日,表格,编辑器,甘特图等。

主要组成部分如下:1.Microsoft Office-style Ribbon Bar“Ribbon”控件在office2007中才被引入。

它是一个新的用户界面。

Ribbon控件使用Tabbed组替换传统的工具栏和菜单栏每个组被逻辑的分成面板,每个面板能够包含各种控件可命令按钮,另外Ribbon控件提供了一种精妙的布局最大化的优化可用空间。

例如,一个面板已经被拉伸并且没有足够的空间去显示所有的可用控件时,它将自动的成为一个能够显示子项的菜单按钮。

2.Grid and Report controlsGrid control支持大多数标准表格控件的特性.∙在一行中没有列的限制∙可以通过一列或者多列进行排序∙显示/隐藏列∙拖拽列∙在单元格编辑∙一行或多行选择∙一行或多行单元格选择∙复制数据到剪贴板∙单元格的拖拽以及下拉列表的支持∙可通过键盘导航∙等。

3.Diagrams图表控件具有下列特性∙添加无限制的图表形状以及连线∙各种预定义的图表块∙表格∙在图表块中的文字标签∙智能直线和曲线的图表连线以及5种类型的自定义箭头∙交互性的图表编辑∙从XML中保存和加载图表∙复制图表图像到剪切板∙存储图表图像到文件∙缩放的支持4.Visual Designer仪表的可视化设计器允许使用新的的WYS/WYG设计工具在数分钟内创建一个高质量的数字仪表盘。

曲线计量器∙直线计量器∙时钟∙把手形状∙文本指示器∙颜色指示器∙数字指示器我们可以在设计界面上放置计量器并改变他们的属性。

使用BCG菜单和工具栏

使用BCG菜单和工具栏

一、在对话框中添加菜单资源1.先按9.6中将工程变成BCG工程。

2.添加一个CCmdFrame类。

其继承自CBCGPFrameWnd。

修改其构造函数为CCmdFrame(CBCGPDialog* pDlg),为其添加成员变量CBCGPDialog* m_pDlg,添加成员函数void SetMenuBar (CBCGPMenuBar* pMenuBar),添加消息处理函数virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra,AFX_CMDHANDLERINFO* pHandlerInfo)。

其头文件主要如下:class CCmdFrame : public CBCGPFrameWnd{public:CCmdFrame(CBCGPDialog* pDlg);// Attributesprotected:CBCGPDialog* m_pDlg;// Operationspublic:void SetMenuBar (CBCGPMenuBar* pMenuBar);// Overrides// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CCmdFrame)public:virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);//}}AFX_VIRTUAL// Implementationprotected:virtual ~CCmdFrame();// Generated message map functions//{{AFX_MSG(CCmdFrame)// NOTE - the ClassWizard will add and remove member functions here.//}}AFX_MSGDECLARE_MESSAGE_MAP()};3.在CCmdFrame类中添加相应的函数。

为BCGControlBar工程添加“Application Look”菜单

为BCGControlBar工程添加“Application Look”菜单

///////////////////////////////////////////////////////////////////////////// // Test.rc// Menu// IDR_MAINFRAME MENUPOPUP"&Application Look"BEGINMENUITEM"Office &2000",ID_VIEW_APPLOOK_2000MENUITEM"Office &XP",ID_VIEW_APPLOOK_XPMENUITEM"Office 200&3",ID_VIEW_APPLOOK_2003MENUITEM"Visual Studio 200&5",ID_VIEW_APPLOOK_VS2005MENUITEM"&Windows Native",ID_VIEW_APPLOOK_WINDOWS_NATIVEPOPUP"Office 200&7"BEGINMENUITEM"&Blue Style",ID_VIEW_APPLOOK_2007MENUITEM"B&lack Style",ID_VIEW_APPLOOK_2007_1MENUITEM"&Silver Style",ID_VIEW_APPLOOK_2007_2MENUITEM"&Aqua Style",ID_VIEW_APPLOOK_2007_3ENDMENUITEM"Visual Studio 200&8",ID_VIEW_APPLOOK_VS2008MENUITEM"Visual Studio 20&10",ID_VIEW_APPLOOK_VS2010POPUP"Office 201&0"BEGINMENUITEM"&Blue Style",ID_VIEW_APPLOOK_2010_1MENUITEM"B&lack Style",ID_VIEW_APPLOOK_2010_2MENUITEM"&Silver Style",ID_VIEW_APPLOOK_2010_3ENDMENUITEM"Window&s 7",ID_VIEW_APPLOOK_WIN7POPUP"Visual Studi&o 2012"BEGINMENUITEM"&Light Style",ID_VIEW_APPLOOK_VS2012_LIGHTMENUITEM"&Dark Style",ID_VIEW_APPLOOK_VS2012_DARKMENUITEM"&Blue Style",ID_VIEW_APPLOOK_VS2012_BLUEENDPOPUP"Office 20&13"BEGINMENUITEM"&White Style",ID_VIEW_APPLOOK_2013_1MENUITEM"&Light Gray Style",ID_VIEW_APPLOOK_2013_2MENUITEM"&Dark Gray Style",ID_VIEW_APPLOOK_2013_3ENDEND/////////////////////////////////////////////////////////////////////////////// Resource.h//#define ID_VIEW_APPLOOK_200032826#define ID_VIEW_APPLOOK_XP32827#define ID_VIEW_APPLOOK_200332828#define ID_VIEW_APPLOOK_WINDOWS_NATIVE32829#define ID_VIEW_APPLOOK_VS200532830#define ID_VIEW_APPLOOK_200732831#define ID_VIEW_APPLOOK_2007_132832#define ID_VIEW_APPLOOK_2007_232833#define ID_VIEW_APPLOOK_2007_332834#define ID_VIEW_APPLOOK_VS200832835#define ID_VIEW_APPLOOK_VS201032836#define ID_VIEW_APPLOOK_2010_132837#define ID_VIEW_APPLOOK_2010_232838#define ID_VIEW_APPLOOK_2010_332839#define ID_VIEW_APPLOOK_WIN732840#define ID_VIEW_APPLOOK_VS2012_LIGHT 32841#define ID_VIEW_APPLOOK_VS2012_DARK32842 #define ID_VIEW_APPLOOK_VS2012_BLUE32843#define ID_VIEW_APPLOOK_2013_132844#define ID_VIEW_APPLOOK_2013_232845#define ID_VIEW_APPLOOK_2013_332846/////////////////////////////////////////////////////////////////////////////// Test.cpp//CTestApp::CTestApp(){AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2000,ID_VIEW_APPLOOK_2000);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_XP,ID_VIEW_APPLOOK_XP);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2003,ID_VIEW_APPLOOK_2003);AddVisualTheme(BCGP_VISUAL_THEME_VS_2005,ID_VIEW_APPLOOK_VS2005);AddVisualTheme(BCGP_VISUAL_THEME_VS_2008,ID_VIEW_APPLOOK_VS2008);AddVisualTheme(BCGP_VISUAL_THEME_VS_2010,ID_VIEW_APPLOOK_VS2010);AddVisualTheme(BCGP_VISUAL_THEME_VS_2012_LIGHT,ID_VIEW_APPLOOK_VS2012_LIGHT);AddVisualTheme(BCGP_VISUAL_THEME_VS_2012_DARK,ID_VIEW_APPLOOK_VS2012_DARK);AddVisualTheme(BCGP_VISUAL_THEME_VS_2012_BLUE,ID_VIEW_APPLOOK_VS2012_BLUE);AddVisualTheme(BCGP_VISUAL_THEME_DEFAULT,ID_VIEW_APPLOOK_WINDOWS_NATIVE);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2007_BLUE, ID_VIEW_APPLOOK_2007);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2007_BLACK, ID_VIEW_APPLOOK_2007_1);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2007_SILVER, ID_VIEW_APPLOOK_2007_2);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2007_AQUA, ID_VIEW_APPLOOK_2007_3);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_BLUE, ID_VIEW_APPLOOK_2010_1);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_BLACK, ID_VIEW_APPLOOK_2010_2);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_SILVER, ID_VIEW_APPLOOK_2010_3);AddVisualTheme(BCGP_VISUAL_THEME_SCENIC,ID_VIEW_APPLOOK_WIN7);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2013_WHITE, ID_VIEW_APPLOOK_2013_1);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2013_GRAY,ID_VIEW_APPLOOK_2013_2);AddVisualTheme(BCGP_VISUAL_THEME_OFFICE_2013_DARK_GRAY, ID_VIEW_APPLOOK_2013_3);SetVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_BLUE);// ......// TODO: add construction code here,// Place all significant initialization in InitInstance}。

BCGControlBar的使用方法


BCGCB***UD.dll, BCGCB***UD.lib DLL debug version, UNICODE
BCGCB***U.dll, BCGCB***U.lib DLL release version UNICODE
BCGCB***StaticD.lib static library debug version
所有这些文件将定位在你的 \Bin 目录中。 记得要把这些目录加入你的系统目录中(把其中的dll全部拷贝到system32下)。
请按如下内容改变你的源代码:
添加 BCGControlBar 路径到 INCLUDE 路径
确定你在你的应用程序中调用 了 AfxOleInit() InitInstance()
为了使能菜单阴影:
CBCGMenuBar::EnableMenuShadows (BOOL bEnable = TRUE)
注意 如果你查看的内容可能动态改变就不要在弹出式菜单中使用菜单 阴影(比如,视图显示动画、HTML页)在这种情况下,菜单阴影 会记忆以前的视图图像。
为了在运行时改变菜单字体:
在应用程序的InitInstance() 中调用:
EnableUserTools (ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx);
一个 "Tools" 新页面将加入到自定义对话框中
为了使能动态可裁剪菜单:
在 STRING 资源表中保留部分条目。这些标识符将被当作控制栏标识符使用。
}
m_wndMenuBar.SetBarStyle (m_wndMenuBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

CControlBar的使用

CControlBar的使用CControlBarCDialogBarCOleResizeBarCReBarCStausBarCDialogbar的使用方法一、创建DialogBar的派生类首先,创建对话框资源:在对话框资源编辑器内生成一个Dialog 资源,并将其风格(Style)属性必须设置为Child,不能设置为Overlapped或Popup,否则运行肯定出错;至于边界属性则随用户自己喜欢,一般都是选择None。

其余属性也随用户选择,一般没有特殊要求还是选择默认的好。

其次,创建基于CDialog的派生类:打开ClassWizard,为以上创建的资源添加一个以CDialog为基类的派生类(因为ClassWizard 没有将CDialogBar列在基类目录清单中,所以用户只能先以CDialog 类派生)。

再次,修改派生类以CDialogBar为基类:通常需要手工修改几处代码,在本例中派生类以CDataStatus命名。

(注:以后讲解中凡是手工改动都是以灰背景显示)1、在头文件中修改继承关系将class CDataStatus : public CDialog 改为class CDataStatus : public CDialogBar2、在代码文件中修该构造函数继承关系将CDataStatus::CDataStatus(CWnd* pParent /*=NULL*/): CDialog(CDataStatus::IDD, pParent){//{{AFX_DATA_INIT(CDataStatus)// NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT}改为CDataStatus::CDataStatus(CWnd* pParent /*=NULL*/){//{{AFX_DATA_INIT(CDataStatus)// NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT}3、将DDX绑定函数中的继承关系去掉即将void CDataStatus::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CCurrentCheckDlg)………..//}}AFX_DATA_MAP}改为void CDataStatus::DoDataExchange(CDataExchange* pDX) {//{{AFX_DATA_MAP(CCurrentCheckDlg)………….//}}AFX_DATA_MAP}4、重新初始化函数(这个相当重要,如果不这么做的话,DDX 函数形同虚设,当然用户的工具条如果没有用到DDX的话当然可以不加这段代码):首先在ClassWizard的MessageMap中对消息该CDataStatus 类的WM_INITDIALOG消息添加处理函数默认名为OnInitDialog。

BCG使用介绍

安装从网上下载BCGControlBarv16.1破解版文件BCGControlBarv16.1.rarBCGControlBarv16.1.rar中包含一个安装文件和一个包含key的文件。

安装完成之后,从开始菜单或者直接打开安装路径文件夹,其中Sample 文件夹跟Example文件夹都是关于BCG16.1的相关例子代码,两者之间的区别在于Sample是一些简单的控件应用,而Example中的例子则要复杂很多,当然也更加美观,其中的MakeExample文件夹中包含的是总的例子解决方案文件,而可执行程序则包含在D:\Program Files\BCGSoft\BCGControlBarPro\Bin文件夹中。

编译各种版本的DLL在\BCGSoft\BCGControlBarPro\BCGCBPro文件夹中包含BCGCBPro.dsw、BCGCBPro71.sln、BCGCBPro80.sln、BCGCBPro90.sln、BCGCBPro100.sln等不同VS版本的解决方案,如图打开后在VS界面的配置管理选项中通过选择需要的配置项生成相应的不同版本DLL文件,同样在\BCGSoft\BCGControlBarPro\Bin中可以找到生成的文件。

在安装完BCG后,在VC新建工程的时候会增加一个BCG工程的选项,利用这个选项建立的MFC工程,里面的类的基类都是来自BCG中的类。

其他的与通常建立的MFC工程无异,也可建立普通的MFC工程,让后手动更改其中的基类为BCG中的类,两者的效果一样。

使用BCG类库时只需包含#include <BCGCBProInc.h>头文件即可。

按钮CBCGPButton主要的BCG按钮的基类。

该类可以:PUSHBUTTON1)对按钮设置图片:SetImage() 关于其中的一个默认参数bMap3dColors当这个单数为TRUE时,颜色为RGB (192, 192, 192)时,显示为透明状态。

BCG使用方法


在 CMainFrame::OnCreate() 行为中添加如下的行,以便使能菜单栏功 能: // 创建菜单栏(替换标准菜单): if (!m_wndMenuBar.Create (this)) {
TRACE0("Failed to create menubar\n"); return -1; //创建失败 } m_wndMenuBar.SetBarStyle (m_wndMenuBar.GetBarStyle() |
ห้องสมุดไป่ตู้
#include "BCGCB.h" 添加 CBCGWorkspace-派生到你的应用程序类: class CMyApp : public CWinApp,
public CBCGWorkspace 首先,你必须定义在注册表中存放你自定义数据的位置和你 需要什么 样的自定义(鼠标、键盘、上下文菜单),为了做这些工作, 在CMyApp::InitInstance 中设置注册表入口并初始化自定义管理器: SetRegistryBase (_T("Settings")); // 初始化自定义管理器: InitMouseManager(); InitContextMenuManager(); InitKeyboardManager(); 如果你已经决定使用鼠标或上下文菜单的自定义功能,你必须在鼠标自 定义管理器中附加一个视图,或初始化上下文菜单。重载 CBCGWorkspace::PreLoadState行为: class CMyApp .... { ... virtual void PreLoadState(); ... }; void CMyApp::PreLoadState() {
.... ID_TOOLx "Activates user-defined tool\nUser Tool" 在应用程序的InitInstance() 中调用: EnableUserTools (ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx); 一个 "Tools" 新页面将加入到自定义对话框中 为了使能动态可裁剪菜单: 在 STRING 资源表中保留部分条目。这些标识符将被当作控制栏标识符 使用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BCGControlBar使用
一. 关于BCGControlBar。

BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual 的应用程序(用户工具栏、菜单、键盘等等)。

BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC扩展类。

这些都可以很容易的应用于您的应用程序,节省大量的开发和调试时间。

BCGControlBar专业版的扩展库,包含了大量高级界面,比如,可分离的表窗口,自动隐藏窗体,托拽的时候能够显示贴靠控件和工具栏的内容,新增帖靠算法(类似于在Microsoft Visual 环境和Microsoft Visio中引入的算法),具有可分离的快捷栏,制表工具栏,语法检验和IntelliSense-style支持的文本控件,完全的平面视觉等等。

除了与MFC兼容的控制栏的执行部分,这个库的其它结构完全是由我们自己设计的。

大部分新的系统特性都是由库的内核自动激活和管理的。

二. 下载并安装BCGControlBar。

在BCGSoft的官网(:///)选择BCGControlBar,并下载。

由于BCGControlBar是一个付费的软件,所以,在其官网上只能免费下载到其evaluation version(评估版本)。

将下载的BCGControlBarProEvaluation.exe打开,就可以进行BCGControlBar的安装了。

默认会安装在C:\Program Files\BCGSoft\BCGControlBar Professional Evaluation路径下。

三. 使用BCGControlBar创建工程。

安装的BCGControlBar已经将要用到的库进行了编译与链接,并放在了安装目录(默认为:C:\Program Files\BCGSoft\BCGControlBar Professional Evaluation)的bin目录下。

BCGControlBar要使用的dll也已经放到system32目录下。

同时,在BCGCBPro目录下也有其需要的头文件。

在其安装目录下的Examples中有其随带的Demo程序,可以运行,并看到其运行效果。

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

vc6.0在其tools>>options>>directoris下进行设置。

在show directories for选择include files,添加BCGControlBar安装目录下的BCGCBPro目录。

然后再选择show directories for下的Library files并添加BCGControlBar安装目录下的bin目录。

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

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

安装BCGControlBar后可以在新建项目的时候选择BCGCBPro AppWizard向导进行项目的创建。

在其step中会添加与BCGControlBar有关的一些选项,可以在创建的时候对其进行相应的设置。

设置完成后,选择finish就可以创建相应的BCGControlBar项目。

在其中可以很方便的使用其控件。

对于已经存在的项目,也可以通过修改其中的一些选项和代码,使其变成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));
(10)生成程序,并执行它。

相关文档
最新文档