转帖|使用教程|编辑:鲍佳佳|2021-07-26 13:54:30.110|阅读 408 次
概述:BCGControlBar是一个 MFC 扩展库,允许您创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)和一组丰富的专业设计的 Microsoft Office 和 Microsoft Visual Studio 类应用程序GUI 控件,本文讲解如何安装使用BCGControlBars.
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
BCGControlBar是一个 MFC 扩展库,允许您创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)和一组丰富的专业设计的 Microsoft Office 和 Microsoft Visual Studio 类应用程序GUI 控件,例如图表、日历、网格、编辑器、甘特图等。
拥有 500 多个经过彻底设计、测试和完整记录的 MFC 扩展类。我们的组件可以轻松集成到您的应用程序中,并为您节省数百小时的开发和调试时间。
打开 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 或更高版本。
所有这些文件将定位在你的 <BCGLibrary Directory>\Bin 目录中。 记得要把这些目录加入你的系统目录中。
请按如下内容改变你的源代码:
#include "BCGCB.h"
class CMyApp : public CWinApp,
public CBCGWorkspace
SetRegistryBase (_T("Settings"));
// 初始化自定义管理器:
InitMouseManager();
InitContextMenuManager();
InitKeyboardManager();
class CMyApp ....
{
...
virtual void PreLoadState();
...
};
void CMyApp::PreLoadState()
{
// 把鼠 标事件连接到特定 的视图 :
GetMouseManager()->AddView (iIdTestView, _T("Test view"), IDR_VIEW);
// 初始化上下文菜单:
GetContextMenuManager()->AddMenu (_T("Test menu"), idMenu);
}
CBCGMenuBar m_wndMenuBar; // 新的菜单栏
CBCGToolBar m_wndToolBar; // 应用程序工具栏
// 创建菜单栏(替换标准菜单):
if (!m_wndMenuBar.Create (this))
{
TRACE0("Failed to create menubar\n");
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 对象被使用。
为了使能 Microsoft Office 2000 菜单:
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 ();
}
CList<UINT, UINT> 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);
EnableUserTools (ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx); |
EnableTearOffMenus (_T("RegBase", ID_TEAR_OFF1, ID_TEAR_OFFx); |
pMenuButton->SetTearOff (D_TEAR_OFF_BAR); |
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自: