BCG界面库

BCG界面库之前用过BCG界面库中的表格控件,深感其强大,现在再来用一下其它的。一.关于BCGControlBar。BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于M

大家好,又见面了,我是你们的朋友全栈君。

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

 

(11)使用BCG界面库给cdialog换肤很简单

将cdialog或是cdialogex改为cbcgpdialog  并在init中加上

    CBCGPVisualManager2007:: SetStyle ( CBCGPVisualManager2007:: VS2007_LunaBlue); 
    CBCGPVisualManager:: SetDefaultManager ( RUNTIME_CLASS ( CBCGPVisualManager2007)); 
    EnableVisualManagerStyle(true,true); 

看一看炫酷的界面吧。

<span role="heading" aria-level="2">BCG界面库

 

<span role="heading" aria-level="2">BCG界面库

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155477.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • android操作系统详细目录结构

    android操作系统详细目录结构\system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。下面是详细的介绍:\system\app\AlarmClock.apk闹钟\system\app\AlarmClock.odex\system\app\Browser.apk浏览器

    2022年10月15日
  • 老电脑玩游戏又卡又慢,怎么办?

    老电脑玩游戏又卡又慢,怎么办?电脑玩游戏反应慢,这里收集了网上网友们提供的方法。如果您在电脑玩游戏时也遇到反应慢的问题,可以尝试用这些办法解决。网友方案一如果电脑玩游戏反应慢,可以通过将电脑的独显打开、更改电池模式或是调整画面分辨率等方法来解决,具体的操作方法可以参考下面的内容。1、将电脑的独显打开,打开控制面板,选择左侧的管理3D设置,在全局设置界面中将自动选择改为你的NVIDIA显卡。然后选择程序设置界面将你…

  • linux的权限命令_linux命令总结

    linux的权限命令_linux命令总结查看文件或目录的权限:ll更改权限操作:chmod①.u表示:属主。②.g表示:所属组用户。③.o表示:其他用户。④.a表示:所有用户。⑤.+表示:增加权限。⑥.-表示:删除权限。⑦.=表示:分配权限。1.每一行显示一个文件或目录的信息,这些信息包括文件的类型、文件的权限、文件的属主、文件的所属组、文件大小、创建时间和文件名。2.读取权限:r,写入权限:w,执行权限:x。①—:没有权限,对应二进制为000,八进制为0.②–x:允许执行,对应二进制001,八进制为1.③-.

  • 老Java程序员花一天时间写了个飞机大战,很舒服![通俗易懂]

    引言:前两天我发现CSDN上有两篇飞机大战的文章异常火爆,各种指标都很高(阅读、点赞、评论、收藏等),但都是python写的,竟然不是我大Java,说实话作为老java选手,我心里是有那么一些失落的,难道我大java打飞机不行?就算大java打飞机不行,那我用单身30年的打飞机手速,我肯定行(反正我的代码我做主,就是玩!),于是我决定一展伸手,用java写了一个飞机大战。我就问你们我打飞机行不行,我媳妇都说行,你们呢?欢迎我亲爱的大Java选手们点赞+评论+收藏!给我冲、冲、冲。。。/**游戏窗

  • draggable的用法_draggable

    draggable的用法_draggable一、概述通过前面几节学习,大家应该都知道了,一个div对象是可以通过拖拉来改变大小,也可以通过拖动来改变其位置的。如何改变大小已经讲解过了,那么怎么实现拖动改变位置呢?现在就开始讲解如何实现拖动-

  • 批处理for详解_python批处理

    批处理for详解_python批处理大纲一前言二for语句的基本用法三for/f(delims、tokens、skip、eol、userbackq、变量延迟)四for/r(递归遍历)五for/d(遍历目录)六for/l(计数循环) 一、前言在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能;配合if、call、goto…

    2022年10月12日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号