软件大小: 126 MB更新时间: 2017-02-16
作者:二师兄的小弟四 时间:2021-11-17 15:36:28
BCGControlBar是一款高级的mfc用户界面套件包,软件的界面与我们经常使用的office有些类似,包含了丰富的控件供大家选择,比如图表,历日,表格,编辑器,甘特图等,新版本还带来了全新的特性,包括可分离的tab面板、自动隐藏面板,新的停靠规则等等,兼容vs6.0、Visual Studio 2013等开发工具。
1、BCGControlBar是一款专业级别的MFC扩展库
2、它允许您创建Microsoft Office和Microsoft具有完全自定义的选项(打印,自定义工具栏,菜单等等)以及一组丰富的专业设计的Visual Studio样的应用GUI控件,例如:日历、网格、编辑和甘特图等。
3、BCGControlBar的这个扩展库包含了300多个经过精心设计,测试和具有完备文档的MFC扩展类。
4、BCGControlBar控件能轻松的融入应用程序中,节约大量的的开发和调试时间。
5、BCGControlBar破解版: 分为60、70、71、80、90、100六个版本,分别支持VC6、VC2002、VC2003、VC2005、VC2008、VC2010编译,每个 版本又包括ansi和unicode的两种,这个破解版本是在官方Release版本的基础上改的,可以同时编译Debug版和Release版
库安装方法解压缩 BCGControlBar.zip (比如,到 c:bcg 目录中)
把 c:bcgbin 增加到你的 path 环境变量中, 运行 Visual C++ 并且打开 Tools | Options 对话框,切换到Directories 页并且把 c:bcgbcgcontrolbar 加入到 include 目录 中。把 c:bcgbin 加入 library 和 executable 目录中;
打开Bcgcontrolbar 和/或 BcgcontrolbarStatic 项目(路径是 c:bcgbcgcontrolbar) 并且选择需要的选项;
如果要安装 BCGControlBar 应用程序向导,只需要打开BCGBAppWizard 项目并编译链接。你将在项目列表中看到一个新的条目。
你必须编译链接所有的 BCGControlBar 库的 DLL 文件;
打开 BCGControlBar 项目并编译链接。下面是一个你将得到的 DLLs 和 库文件列表:
BCGCB***D.dll, BCGCB***D.lib DLL debug version
BCGCB***.dll, BCGCB***.lib DLL release version
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
BCGCB***StaticDS.lib static library debug version, MFC shared DLL*
BCGCB***Static.lib static library release version
BCGCB***StaticS.lib static library release version, MFC shared DLL*
BCGCB***StaticUD.lib static library debug version, UNICODE
BCGCB***StaticUDS.lib static library debug version, UNICODE, MFC shared DLL*
BCGCB***U.lib static library release version, UNICODE
BCGCB***US.lib static library release version, UNICODE, MFC shared DLL*
*** 表示版本号。比如,如果你使用的库版本为 5.00 发行版, DLL 的相应的发行版本为 BCGCB500.dll
* static library version with MFC shared DLL 适用于 4.7 或更高版本。
所有这些文件将定位在你的 Bin 目录中。 记得要把这些目录加入你的系统目录中(把其中的dll全部拷贝到system32下)。
请按如下内容改变你的源代码:
添加 BCGControlBar 路径到 INCLUDE 路径
确定你在你的应用程序中调用 了 AfxOleInit() InitInstance()
添加下列语句到 stdafx.h 文件:
#include "BCGCBProInc.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()
{
// 把鼠 标事件连接到特定 的视图 :
GetMouseManager()- AddView (iIdTestView, _T("Test view"), IDR_VIEW);
// 初始化上下文菜单:
GetContextMenuManager()- AddMenu (_T("Test menu"), idMenu);
}
同时在 mainfrm.h 和 mainfrm.cpp 文件中 把 CMDIFrameWnd 变成 CBCGMDIFrameWnd ,(在 SDI 应用程序的情况下, 把 CFrameWnd 变成 CBCGPFrameWnd)
把 CMDIChildWnd 变成 CBCGMDIChildWnd
把 CToolbar 变成 CBCGPToolBar 并且添加一个内嵌菜单栏对象到你的 CMainFrame 类中:
CBCGPMenuBar m_wndMenuBar; // 新的菜单栏
CBCGPToolBar m_wndToolBar; // 应用程序工具栏
在 CMainFrame::OnCreate() 行为中添加如下的行,以便使能菜单栏功能:
// 创建菜单栏(替换标准菜单):
if (!m_wndMenuBar.Create (this))
{
TRACE0("Failed to create menubarn");
return -1; //创建失败
}
m_wndMenuBar.SetBarStyle (m_wndMenuBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
为了使能菜单栏停靠,你应当添加如下代码:
m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);
DockControlBar ( m_wndMenuBar);
重要之处: 你可以在应用程序中使用任何数目的CBCGToolBar 工具栏。所有的工具栏图像将被合并到一个位图文件中。 无论如何,仅仅有一个CBCGMenuBar 对象被使用。
为了使能 工具栏/菜单 的自定义,请作出如下改变:
添加 工具栏/菜单 自定义命令(比如,View | Customize...)
实现 OnViewCustomize 行为。代码看起来如下:
void CMainFrame::OnViewCustomize()
{
// 创建一个自定义工具栏对话框:
CBCGToolbarCustomize* pDlgCust = new CBCGToolbarCustomize (this,
TRUE /* Automatic menus scaning */);
// 添加预定义工具栏:
pDlgCust- AddToolBar ("Main", IDR_MAINFRAME);
....
// 添加用户自定义命令:
pDlgCust- AddButton ("User", CBCGToolbarButton (ID_USER_TOOL1, 1, "User Tool 1", TRUE));
pDlgCust- AddButton ("User", CBCGToolbarButton (ID_USER_TOOL2, 2, "User Tool 2", TRUE));
pDlgCust- AddButton ("User", CBCGToolbarButton (ID_USER_TOOL3, 3, "User Tool 3", TRUE));
....
pDlgCust- SetUserCategory ("User");
// 使能用户自定义工具栏的 Create/Delete :
pDlgCust- EnableUserDefinedToolbars ();
pDlgCust- Create ();
}
为了使能 Microsoft?Office 2000 菜单:
定义你自己的基本命令集合(通常在CMainFrame::OnCreate()中):
CList lstBasicCoomads;
lstBasicCoomads.AddTail (ID_FILE_NEW);
lstBasicCoomads.AddTail (ID_FILE_OPEN);
lstBasicCoomads.AddTail (ID_FILE_SAVE);
......
lstBasicCoomads.AddTail (ID_APP_ABOUT);
CBCGToolBar::SetBasicCommands (lstBasicCoomads);
这些命令将显示在下拉菜单中:
为了使能菜单阴影:
CBCGMenuBar::EnableMenuShadows (BOOL bEnable = TRUE)
注意 如果你查看的内容可能动态改变就不要在弹出式菜单中使用菜单 阴影(比如,视图显示动画、HTML页)在这种情况下,菜单阴影 会记忆以前的视图图像。
为了在运行时改变菜单字体:
CBCGMenuBar::SetMenuFont (LPLOGFONT lpLogFont, BOOL bHorz = TRUE);
为了使能 页面 (自定义)按钮,只需要调用:
m_wndToolBar.EnableCustomizeButton (TRUE, id_of_customize_command,
_T("Customize..."));
为了使能图像覆盖下的文字:
m_wndToolBar.EnableTextLabels (BOOL bEnable = TRUE);
为了使能用户自定义工具:
添加一个新的菜单条目:ID_TOOLS_ENTRY。该条目将 自动被实际存在的工具列表取代。
添加如下的条目到 STRING 资源:
ID_TOOL1 "Activates user-defined toolnUser Tool"
ID_TOOL2 "Activates user-defined toolnUser Tool"
....
ID_TOOLx "Activates user-defined toolnUser Tool"
在应用程序的InitInstance() 中调用:
EnableUserTools (ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx);
一个 "Tools" 新页面将加入到自定义对话框中
为了使能动态可裁剪菜单:
在 STRING 资源表中保留部分条目。这些标识符将被当作控制栏标识符使用。
ID_TEAR_OFF1 ""
ID_TEAR_OFF2 ""
.......
ID_TEAR_OFFx ""
对于每一个可裁剪弹出式菜单,把 "Break" 属性改位 "Bar" (MF_MENUBARBREAK)
在应用程序的 InitInstance() 中调用:
EnableTearOffMenus (_T("RegBase", ID_TEAR_OFF1, ID_TEAR_OFFx);
为了使能静态可裁剪菜单
在 STRING 资源表中保留一个条目。这个标识符将区别于动态 可裁剪 标识符(如上所述)。
ID_TEAR_OFF_BAR ""
在主框架的 OnShowPopupMenu,为特定的菜单按钮使能可裁剪:
pMenuButton- SetTearOff (D_TEAR_OFF_BAR);
Microsoft Office-style Ribbon Bar
Ribbon 控件在office2007中才被引入。它是一个新的用户界面。Ribbon控件使用Tabbed组替换传统的工具栏和菜单栏每个组被逻辑的分成面板,每个面板能够包含各种控件可命令按钮,另外Ribbon控件提供了一种精妙的布局最大化的优化可用空间。例如,一个面板已经被拉伸并且没有足够的空间去显示所有的可用控件时,它将自动的成为一个能够显示子项的菜单按钮。
2.Grid and Report controls
Grid control支持大多数标准表格控件的特性.
在一行中没有列的限制
可以通过一列或者多列进行排序
显示/隐藏列
拖拽列
在单元格编辑
一行或多行选择
一行或多行单元格选择
复制数据到剪贴板
单元格的拖拽以及下拉列表的支持
可通过键盘导航
等。。。。。。
3.Diagrams
图表控件具有下列特性
添加无限制的图表形状以及连线
各种预定义的图表块
表格
在图表块中的文字标签
智能直线和曲线的图表连线以及5种类型的自定义箭头
交互性的图表编辑
从XML中保存和加载图表
复制图表图像到剪切板
存储图表图像到文件
缩放的支持
4.Visual Designer
仪表的可视化设计器允许使用新的的WYS/WYG设计工具在数分钟内创建一个高质量的数字仪表盘。
曲线计量器
直线计量器
时钟
把手形状
文本指示器
颜色指示器
数字指示器
我们可以在设计界面上放置计量器并改变他们的属性。
当你的仪表盘准备好后,保存它为一个XML文件,并通过C++程序加载它。
5.Chart Control
图表控件支持一下特性
2D和3D图表
线条无限制
线上的点限制
Conversion between compatible series on the fly (without clearing and adding new data)
在相同图表区域显示不同的线
自定义数据标记和数据点
自定义数据标签和数据点
工具提示的支持
智能标签的支持
6.Customizable toolbars and menus
BCG 提供了一个类似于微软的Office和VS自定义工具栏和菜单栏的机制。用户能够简单在工具栏和菜单栏之间拖动按钮。所有这些类别比如说 File 或者 Edit 都能够通过应用程序资源建立。自定义机制允许对工具栏和菜单栏项外观的修改。比如,改变菜单项的文本或图标甚至可以使用库的图像编辑器创建或修改。所有这些特性都是BCG库自动提供,没有附加代码。
7.Advanced Edit control
高级编辑控件支持一下特性
智能感知的支持
可折叠块的支持
显示行编号
语法高亮支持
符号支持:你能够定义一套能够被替换为图片的字符
标记支持:可调节左面版区域以使可视化区域显示更多信息
工具提示支持
拥有放入编辑控件到对话框的能力
支持复制粘贴
拖拽和下拉的支持
查找和替换功能
撤销与重做功能
UINCODE的支持
CViw的派生类很容易整合到MFC架构中
8.Windows UI Tiles
Window UI 风格具有下列特性
矩形和宽片的支持
片组
标签
直角或圆角的片
水平或垂直布局
片头和多行文本
片图像
数字和图标徽章支持
活动片
自定义颜色画刷
自定义片
独立于操作系:在非win8系统下实现win8风格的界面
8.Intergration Wizard
整合向导能够整合库文件和帮助文件到你的VS中,能够建立向导和更新相关路径设置。
9.Visual Studio-like Docking Panes
BCG提供了建立像VS2012一样外观的必要组件。VS2012没有丰富的颜色的GUI元素,所以工具栏,菜单栏和停靠面板的图标默认转换为灰度级。
另外,开发者可还是设置主题的主色调。默认的状态栏和所有高亮或获取焦点的元素以蓝色显示,但是你可以根据你自己的喜好改变参数。
10.Calendar Control
日历控件是拥有任意的你需要包含进你应用程序的一个复杂的行程安排和约会工具。它拥有以下特性每个特性都可以自定义以适应你的需要:
下面的图可以支持:每天,5天工作日,每周,每月
约会和行程安排
约会提醒
事件
整合了日期选择器
复制和粘贴操作
能够拖拽和下拉
打印的支持
11.Gauges
BCG库提供了各种类型的仪表组件,允许开发者去创建一个数字化的仪表盘。
支持下列的仪表盘:
圆形仪表盘
直线仪表盘
把手控件
星形的菜单
旋转控件
数字标识器
颜色标识器
文本标签
图像标识器
模拟时钟
每个项都能够单独创建也可以联合其他的在仪表容器中。
11.Skinned Dialogs and Forms
BCG 提供了一个简单有效的方式去自定义对话框的外观:调用EnableVisualManagerStyle并且所有的对话框和背景都将使用当前选择的可视化管理器进行绘制。另外,也能声明一个对话框为 glass (Vista Only)且这个对话框将以 Aero 的效果显示。
开发环境
Microsoft Visual C++ 6.0 with Service Pack 4 or higher
Microsoft Visual Studio.NET
Microsoft Visual Studio.NET 2003
Microsoft Visual Studio 2005
Microsoft Visual Studio 2008
Microsoft Visual Studio 2010
Microsoft Visual Studio 2012
Microsoft Visual Studio 2013
操作系统
Windows 95
Windows 98
Windows ME
Windows NT 4.0
Windows 2000
Windows XP
Windows 2003 Server
Windows Vista
Windows 2008 Server
Windows 7
Windows 8/8.1