BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。
BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。
点击“了解更多”安全获取BCGControlBar Pro for MFC v30.5下载
请在您的源代码中进行以下更改:1. 将BCGCBPro目录添加到include路径中;
2. 将以下包含项添加到stdafx.h文件中:
#include "BCGCBProInc.h"
3. 从CBCGPWinApp派生您的应用程序类:
class CMyApp: public CBCGPWinApp
4. 在应用程序类构造函数中指定应用程序常规选项:
- Visual Theme ("Skin"),视觉主题(“皮肤”)。 默认情况下,框架将使用本机Windows主题,但是您可以切换到预定义的可视化主题,也可以创建自己的主题。例如,如果您希望启用Office 2010样式的蓝色主题,请添加以下代码:
SetVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_BLUE);
- Toolbar options,工具栏选项。 (如果要使用MS Office样式的功能区栏,请跳过此步骤)要启用工具栏/菜单自定义,请在字符串资源中添加一个新项ID_VIEW_CUSTOMIZE并将以下代码添加到应用程序构造函数中:
CBCGPToolbarOptions toolbarOptions;
toolbarOptions.m_nViewToolbarsMenuEntryID = ID_VIEW_TOOLBAR; // Will be replaced with toolbars menu
toolbarOptions.m_nCustomizeCommandID = ID_VIEW_CUSTOMIZE; // You don't need to add item to any toolbars/menus
toolbarOptions.m_strCustomizeCommandLabel = _T("Customize...");
SetToolbarOptions(toolbarOptions);
5. 确保在应用程序InitInstance()中调用CBCGPWinApp::InitInstance()和AfxOleInit() 。
6. 接下来,您需要定义将应用程序数据保存在注册表中的位置。 为此,请在CMyApp :: InitInstance中指定一个注册表项(建议的代码位置在LoadStdProfileSettings之后):
LoadStdProfileSettings();
SetRegistryBase(_T("Settings"));
7. 将mainframe.h和mainframe.cpp文件中的CMDIFrameWnd都更改为CBCGPMDIFrameWnd(在SDI应用程序的情况下,将CFrameWnd更改为CBCGPFrameWnd)。
8. 将CMDIChildWnd更改为CBCGPMDIChildWnd(仅MDI应用程序)。
9. 将CToolbar更改为CBCGPToolBar并将嵌入式菜单栏对象添加到您的CMainFrame类中:
CBCGPMenuBar m_wndMenuBar; // New menu bar
CBCGPToolBar m_wndToolBar; // Application toolbar
10. 在CMainFrame::OnCreate()方法中,添加来下行以启用菜单栏功能:
// Create menu bar (replaces the standard menu):
if(!m_wndMenuBar.Create(this))
{
TRACE0("Failed to create menubar\n");
return-1; // fail to create
}
m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
11. 要启用menu bar停靠,请添加以下代码:
m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);
DockControlBar(&m_wndMenuBar);
重要提示:您可以在应用程序中使用任意数量的CBCGPToolBar工具栏,所有工具栏图像将自动合并为一个位图图像,但是只能使用一个CBCGPMenuBar对象。
要启用用户定义的工具:1. 新增一个新的菜单项: ID_TOOLS_ENTRY,此项将自动替换为实际工具列表。
2. 将以下项目添加到STRING资源中:
- ID_TOOL1 "Activates user-defined tool\nUser Tool"
- ID_TOOL2 "Activates user-defined tool\nUser Tool"
- ...
- ID_TOOLx "Activates user-defined tool\nUser Tool"
3. 在应用程序的 InitInstance()中调用:
EnableUserTools(ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx);
4. 新的"Tools"页面将添加到自定义对话框中。