Ribbon Backstage View
BCGControlBar Pro (MFC)
BCGSuite (MFC)
BCGControlBar for .NET
"Backstage View" interface was introduced in Microsoft Office 2010. Ribbon Control has a special category called "Backstage Category". When you click this category's tab, Ribbon Control gets minimized and opens a backstage view, which fills the entire client area. This area is broken into two parts: a list of items at the left side and view area at the right side. The list of items may contain commands and view names.
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 form, or property sheet.
Backstage view with a simple form
Backstage view with a property sheet
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);