彩票走势图

MFC界面库BCGControlBar入门教程:如何修改现有工程

转帖|使用教程|编辑:鲍佳佳|2020-11-03 13:47:12.650|阅读 700 次

概述:本章为BCGControlBar入门系列教程,前两章我们讲述了如何安装,以及创建第一个项目。本次我们将主要讲述如何修改现有工程。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。

BCGControlBar Pro for MFC v30.6最新版下载

现有工程修改

在代码中做以下更改

  • 添加BCGCBPro 目录到 包含目录库目录

  • 在 stdafx.h文件中添加
    #include "BCGCBProInc.h"

  • App类从CBCGPWinApp继承。
    class CMyApp: public CBCGPWinApp

  • 在 APP 类的构造函数中,指明通用配置选项

    • 主题(皮肤) 例如:可以指定一个主题样式。
      SetVisualTheme(BCGP_VISUAL_THEME_OFFICE_2010_BLUE);
    • ToolBar 选项。(如果想使用 Office样式的 Ribbon 工具栏,请跳过这一步)。
      如果要启用 toolbar/menu 自定义,添加一个新的ID项 ID_VIEW_CUSTOMIZE到字符串资源,并且把一下代码添加到 APP 类的构造函数中

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);
  • 确保在 InitInstance()调用了 CBCGPWinApp::InitInstance() 和 AfxOleInit()

  • 下一步指明一个注册表位置来存储程序数据。在InitInstance()中指定一个注册表条目(建议放到 LoadStdProfileSettings 后面)
    例如:下面的代码,存储位置为HKEY_CURRENT_USER\SOFTWARE\MYAPP\应用程序名称\Settings

SetRegistryKey(_T("MYAPP"));
LoadStdProfileSettings();
SetRegistryBase(_T("Settings"));
  • 多文档把mainframe.h mainframe.cpp中CMDIFrameWnd修改为CBCGPMDIFrameWnd 。多文档把CFrameWnd修改为CBCGPFrameWnd 。

  • 多文档把CMDIChildWnd修改为CBCGPMDIChildWnd 。

  • 把CToolbar修改为CBCGPToolBar ,并且在CMainFrame中嵌入一个实例。

CBCGPMenuBar m_wndMenuBar;  // New menu bar
CBCGPToolBar m_wndToolBar;  // Application toolbar
  • 在 CMainFrame::OnCreate() 方法中添加以下几行,来启用Menu bar的功能。

// 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);
  • 想要启用menu bar的停靠功能,请在 CMainFrame::OnCreate() 方法中添加如下代码。

m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);
DockControlBar(&m_wndMenuBar);2

注意:在程序中可以使用任意数量的 CBCGPToolBar。所有的 toolbar 图片都会自动合成为一个bitmap。但是CBCGPMenuBar只能有一个。

想要启用自定义工具:

  • 添加一个菜单项:ID_TOOLS_ENTRY 。这个条目会被工具列表自动替换。
  • 添加以下条目到 STRING 资源中:
  • 在应用程序 InitInstance() 中调用:

EnableUserTools(ID_TOOLS_ENTRY, ID_TOOL1, ID_TOOLx);
  • 一个新的“Tool”页面会添加到自定义对话框中。

本文转载自CSDN-

现购买BCGSoft正版授权最高直降万元,欢迎点击了解产品正版授权>>


慧都高端UI界面开发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP