Ribbon Backstage View

Fully implemented BCGControlBar Pro (MFC)

Not available BCGSuite (MFC)

Fully implemented BCGControlBar for .NET

The "Backstage View" interface was introduced in Microsoft Office 2010. The ribbon bar has a special category called "Backstage Category." When you click this category's tab (usually named "File"), the ribbon bar gets minimized and opens a backstage view, which fills the entire client area. This area is divided into two parts: a list of commands and view names on the left side and a view area on the right side.

When you click a command, backstage view is closed, returning the application to the previous state (meaning docking bar positions, etc.), and the command is executed.

When you click a view name, the corresponding view is displayed at the right side. This view may contain any additional information related to the current logical view selected at the left side. The logical view can be represented either by a form or a property sheet.

Backstage view with a simple form

Backstage view with a simple form

Backstage view with a property sheet

Backstage view with a property sheet

Backstage view with built-in recent file and recent folder lists

Backstage view with built-in recent file and recent folder lists

Sample code:

// Create Office 2010-style backstage view:

CBCGPRibbonBackstageViewPanel* pBackstagePanel = 
	m_wndRibbonBar.AddBackstageCategory(
		_T("File"), 
		IDB_RIBBON_FILESMALL);

// Add single commands:
pBackstagePanel->AddCommand(
	ID_FILE_SAVE, _T("Save"), 2);
pBackstagePanel->AddCommand(
	ID_FILE_SAVE_AS, _T("Save As"), 3);
pBackstagePanel->AddCommand(
	ID_FILE_NEW, _T("New"), 0);
pBackstagePanel->AddCommand(
	ID_FILE_OPEN, _T("Open"), 1);

// Add multi-page view:
CBCGPRibbonBackstageViewItemPropertySheet* pInfo = 
	new CBCGPRibbonBackstageViewItemPropertySheet(
		IDB_INFO);
pInfo->AddPage(&m_PropPage1);
pInfo->AddPage(&m_PropPage2);

pBackstagePanel->AddView(
	ID_FILE_SUMMARYINFO, _T("Info"), pInfo);

// Add single-page view:
pBackstagePanel->AddView(
	0, _T("Recent"), 
	new CBCGPRibbonBackstageViewItemForm(
		IDD_FORM_RECENTFILES, 
		RUNTIME_CLASS(CBackStagePageRecentFiles)));

pBackstagePanel->AddView(
	ID_FILE_PRINT, _T("Print"), 
	new CBCGPRibbonBackstageViewItemForm(
		IDD_FORM_PRINT, 
		RUNTIME_CLASS(CBackStagePagePrint)));

// Add "Exit" command:
pBackstagePanel->AddCommand(
	ID_APP_EXIT, _T("Exit"), 11);

// Enable backstage mode:
m_wndRibbonBar.SetBackstageMode(TRUE);