如何在应用程序中添加BCGControlBar的Ribbon控件

 我来答
百度网友96ffcf7
推荐于2016-07-09 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
本文分步介绍了如何在应用程序中添加BCGControlBar的Ribbon控件,并且附源码。
1、打开MainFrme.h,移除CBCGPMenuBar、 m_wndMenuBar、CBCGPToolBar、 m_wndToolBar。
2、对Ribbon Bar和主要的 Ribbon Button添加自定义。

1
2

CBCGPRibbonBar m_wndRibbonBar;
CBCGPRibbonMainButton m_MainButton;

3、添加定义面板图像列表。

1

CBCGPToolBarImages m_PanelIcons;

4、打开MainFrm.cpp,移除m_wndMenuBar 和m_wndToolBar有关的东西。
5、对源添加一个Ribbon Main Button(IDB_MAIN)26X26像素的位图,小图标(16像素高度)的位图列表以及大图标(32像素高度)位图列表,并将他们命名为IDB_SMALL_ICONS和IDB_LARGE_ICONS respectively。
6、在CMainFrame::OnCreate中创建Ribbon Bar:

1

m_wndRibbonBar.Create (this);

7、初始化和设置主要的Ribbon Button:

1
2
3
4

m_MainButton.SetMenu (IDR_FILE_MENU);
m_MainButton.SetImage (IDB_MAIN);
m_MainButton.SetToolTipText (_T("File"));
m_wndRibbonBar.SetMainButton (&m_MainButton, CSize (45, 45));

8、初始化和加载面板图标的图像列表。

1
2

m_PanelIcons.SetImageSize (CSize (16, 16));
m_PanelIcons.Load (IDB_PANEL_ICONS);

9、添加第一类:

1
2
3
4

CBCGPRibbonCategory* pCategory = m_wndRibbonBar.AddCategory
(_T("&Write"), // Category name
IDB_WRITE, // Category small images (16 x 16)
IDB_WRITE_LARGE); // Category large images (32 x 32)

10、添加第一个面板到这个类别:

1
2
3

CBCGPRibbonPanel* pPanel = pCategory->AddPanel (
_T("Clipboard"), // Panel name
m_PanelIcons.ExtractIcon (0)); // Panel icon

11、添加ribbon元素到面板:

1
2
3
4
5
6
7
8
9
10
11
12

// Create the first button to Panel ("Paste"):
CBCGPRibbonButton* pPasteButton = new CBCGPRibbonButton (ID_EDIT_PASTE, _T("Paste"), -1, 0);

// The third parameter (-1) tells that this button does not have a small icon.
// Therefore the "Paste" button will be always displayed with large icon.

// Associate a popup menu with the "Paste" button:
pPasteButton->SetMenu (IDR_CONTEXT_MENU);
// Add other buttons to the panel. These buttons have small icons only:
pPanel->Add (new CBCGPRibbonButton (ID_EDIT_CUT, _T("Cut"), 1));
pPanel->Add (new CBCGPRibbonButton (ID_EDIT_COPY, _T("Copy"), 2));
pPanel->Add (new CBCGPRibbonButton (ID_EDIT_PAINT, _T("Paint"), 9));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式