General Ribbon Features

Fully implemented BCGControlBar Pro (MFC)

Not available BCGSuite (MFC)

Fully implemented BCGControlBar for .NET

"Ribbon" control was introduced by Microsoft in Office 2007. It's not just a new control - it's a new user interface ideology. Ribbon control replaces traditional toolbars and menus with tabbed groups (Categories). Each tab is logically split into Panels and each panel may contain various controls and command buttons. In addition, Ribbon control provides smart layout maximally utilizing the available space. For example, if a Panel has been stretched and has no place to display all available controls, it becomes a menu button which can display sub-items on a popup menu.

Ribbon Bar:

Ribbon Bar:

Ribbon Bar with "Collapsed" panel:

Ribbon Bar with "Collapsed" panel:

Ribbon in MDI application with other control bars:

Ribbon in MDI application with other control bars:

Sample code:

CBCGPRibbonBar m_wndRibbonBar;
...
// Create ribbon bar:
m_wndRibbonBar.Create(this);

// Add "Home" category with "Clipboard" panel:
CBCGPRibbonCategory* pCategory = 
	m_wndRibbonBar.AddCategory (
		_T("Home"),
		IDB_WRITE /* Small images */, 
		IDB_WRITELARGE /* Large images */);

// Create "Clipboard" panel:
CBCGPRibbonPanel* pPanelClipboard = 
	pCategory->AddPanel (
		_T("Clipboard"), 
		GetIcon (FALSE));

CBCGPRibbonButton* pBtnPaste = new CBCGPRibbonButton(
	ID_EDIT_PASTE, _T("Paste"), 0, 0);
pBtnPaste->SetMenu(IDR_PASTE_MENU, TRUE);
pPanelClipboard->Add(pBtnPaste);

pPanelClipboard->Add(
	new CBCGPRibbonButton(
		ID_EDIT_CUT, _T("Cut"), 1));
pPanelClipboard->Add(
	new CBCGPRibbonButton(
		ID_EDIT_COPY, _T("Copy"), 2));
pPanelClipboard->Add(
	new CBCGPRibbonButton(
		ID_EDIT_FORMAT, _T("Format"), 3));

// Add quick access toolbar commands:
CList<UINT, UINT> lstQATCmds;

lstQATCmds.AddTail(ID_FILE_SAVE);
lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT);

m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds);