BCG界面库

之前用过BCG界面库中的表格控件,深感其强大,现在再来用一下其它的。

一.   关于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 Files\BCGSoft\BCGControlBar Professional Evaluation路径下。

三.   使用BCGControlBar创建工程。

  1. 安装的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++目录下可以设置包含目录的库目录。

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

  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)   生成程序,并执行它。

时间: 2024-10-03 15:05:31

BCG界面库的相关文章

BCG界面库的设置浮动工具栏位置

使用BCG界面库,工具栏的一些用法就和MFC不一样了,MFC的CFrameWnd 直接有一个设置浮动工具条位置的函数可以调用,而BCG没有,因为其对于TOOLBAR的底层实现和MFC那一套实现流程完全不同. BCG库的代码设置浮动工具栏的位置,又折腾了我几个小时,通过看其源码加改调用函数改参数调试,最后终于出来了,个人感觉此法不太漂亮.哪位同仁如果有标准的用法请指教,在此谢过. 代码如下: void  CMainFrame::RePosTextToolBar( CPoint &  ptScree

BCG界面库下的Windows8 UI界面样式www.webui8.com

BCG界面库下的Windows8 UI界面样式(Metro风格)控件主要有以下一些功能: 规则的大块磁贴 支持完整键盘导航 Tile组 标题(Caption) 标题按钮(Caption buttons) 矩形或圆形的磁贴形状 水平("Landscape")和 垂直("Portrait")布局 Tile页头和多行文本 Tile图像 支持数字或标志性徽章 "Live" tiles 自定义颜色和画刷 自定义磁贴 系统独立:由于BCG只是模仿了Windo

MFC扩展界面库Ultimate Toolbox的编译

出现编译错误的文件:OXHTMLParser.cppOXParser.cppOXPhysicalEditEx.cppOXQuickString.cpp 出错的原因乍看起来是字符串的引号不配对,实际上是因为Ultimate Toolbox的源码文件都是WINDOWS-1252编码的,且文件中包含编码是0xA0的字符,这些字符无法在中文操作系统下的VC++编辑器中正常显示. 解决方法是将这几个文件的编码转换为UTF-8,或者将“区域和语言选项”中“非Unicode程序的语言”改为“英语-美国”. 另

C++界面库(十几种,很全),当然Delphier有FMX

刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得.不敢藏私,希望和一些新手朋友们分享交流. 一.  开源C++界面库 1.RingSdk Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果.链接见 http://blog.csdn.net/rin

MFC BCGCBProInc.h : No such s file or dictionary. 解决方案:安装BGB界面库

BCGCBProInc.h : No such s file or dictionary. 解决方案:安装BGB界面库 一.   关于BCGControlBar. BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的应用程序(用户工具栏.菜单.键盘等等).BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC

MFC界面库

http://blog.csdn.net/cddchina/article/details/38759485 刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得.不敢藏私,希望和一些新手朋友们分享交流. 一.  开源C++界面库 1.RingSdk Ringsdk是CSDN上一个前辈自己写的界

各种界面库介绍及比較

具体界面库列表见http://home.pacbell.net/atai/guitool/ 怎样选择界面库 产品易用性 是否easy整合到现有应用程序中?是否easy在新的应用程序项目中应用? 开发者是否能及时掌握并使用 产品稳定性 是否有足够多的演示样例演示控件库各个方面的功能特性 是否有众多的成功案例 是否一直有持续更新 界面库高效性 拖拽窗体,观察是否有明显的停顿感. 可在一个系统下,找一些知名软件比較,如QQ/MSN等.假设有明显差异 拖拽窗体,观察界面控件是否有明显闪烁 . 软件启动速

C++界面库

刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得.不敢藏私,希望和一些新手朋友们分享交流. 一.  开源C++界面库 1.RingSdk Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果.链接见 http://blog.csdn.net/rin

常见MFC UI界面库[转]

Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的. The Ultimate Toolbox http://www.codeproject.com/KB/MFC/UltimateToolbox.aspx GuiToolkit(开源,mfc扩展框架,类似Visual Studio 2003风格)htt