开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 14335|回复: 0

BCG MFC界面开发帮助文档:新手入门指南

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-9-25 09:27:24 | 显示全部楼层 |阅读模式
BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。
BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。

请在您的源代码中进行以下更改:
1. 将BCGCBPro目录添加到INCLUDE路径中;
2. 将以下包含项添加到stdafx.h文件中:
[C++] 纯文本查看 复制代码
#include "BCGCBProInc.h"

3. 从CBCGPWinApp派生您的应用程序类:
[C++] 纯文本查看 复制代码
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并将以下代码添加到应用程序构造函数中:
[C++] 纯文本查看 复制代码
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之后):
[C++] 纯文本查看 复制代码
LoadStdProfileSettings();
SetRegistryBase(_T("Settings"));

7. 将mainframe.h和mainframe.cpp文件中的CMDIFrameWnd都更改为CBCGPMDIFrameWnd(在SDI应用程序的情况下,将CFrameWnd更改为CBCGPFrameWnd)。
8. 将CMDIChildWnd更改为CBCGPMDIChildWnd(仅MDI应用程序)。
9. 将CToolbar更改为CBCGPToolBar并将嵌入式菜单栏对象添加到您的CMainFrame类中:
[C++] 纯文本查看 复制代码
CBCGPMenuBar m_wndMenuBar; // New menu bar
CBCGPToolBar m_wndToolBar; // Application toolbar

10. 在CMainFrame::OnCreate()方法中,添加来下行以启用菜单栏功能:
[C++] 纯文本查看 复制代码
// 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停靠,请添加以下代码:
[C++] 纯文本查看 复制代码
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()中调用:
[C++] 纯文本查看 复制代码
EnableUserTools(ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx);

4. 新的"Tools"页面将添加到自定义对话框中。

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-27 11:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表