Top-level control in a ribbon user interface.
Serves as a tabbed container for RibbonPage
- a ribbon user interface typically
has a ribbon bar, which contains one or more RibbonPages, which in turn each contains
one or more RibbonPanels, which in turn contain controls. While a RibbonBar
has
tabs similar to a Notebook
, it does not follow the same API for adding pages.
Containers like Notebook
can contain any type of window as a page, hence the
normal procedure is to create the sub-window and then call BookCtrlBase.AddPage
().
As RibbonBar
can only have RibbonPage
as children
(and a RibbonPage
can only have a RibbonBar
as parent),
when a page is created, it is automatically added to the bar - there is no AddPage equivalent to call.
After all pages have been created, and all controls and panels placed on those pages,
Realize
must be called.
This class supports the following window styles:
Window Styles | Hex Value | Description |
---|---|---|
RIBBON_BAR_DEFAULT_STYLE |
0x9 | Defined as RIBBON_BAR_FLOW_HORIZONTAL | RIBBON_BAR_SHOW_PAGE_LABELS | RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
RIBBON_BAR_FOLDBAR_STYLE |
0x1e | Defined as RIBBON_BAR_FLOW_VERTICAL | RIBBON_BAR_SHOW_PAGE_ICONS | RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS | RIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS |
RIBBON_BAR_SHOW_PAGE_LABELS |
0x1 | Causes labels to be shown on the tabs in the ribbon bar. |
RIBBON_BAR_SHOW_PAGE_ICONS |
0x2 | Causes icons to be shown on the tabs in the ribbon bar. |
RIBBON_BAR_FLOW_HORIZONTAL |
0x0 | Causes panels within pages to stack horizontally. |
RIBBON_BAR_FLOW_VERTICAL |
0x4 | Causes panels within pages to stack vertically. |
RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
0x8 | Causes extension buttons to be shown on panels (where the panel has such a button). |
RIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS |
0x10 | Causes minimise buttons to be shown on panels (where the panel has such a button). |
RIBBON_BAR_ALWAYS_SHOW_TABS |
0x20 | Always shows the tabs area even when only one tab is added. |
This class processes the following events:
Event Name | Description |
---|---|
EVT_RIBBONBAR_PAGE_CHANGED |
Triggered after the transition from one page being active to a different page being active. |
EVT_RIBBONBAR_PAGE_CHANGING |
Triggered prior to the transition from one page being active to a different page being active, and can veto the change. |
EVT_RIBBONBAR_TAB_MIDDLE_DOWN |
Triggered when the middle mouse button is pressed on a tab. |
EVT_RIBBONBAR_TAB_MIDDLE_UP |
Triggered when the middle mouse button is released on a tab. |
EVT_RIBBONBAR_TAB_RIGHT_DOWN |
Triggered when the right mouse button is pressed on a tab. |
EVT_RIBBONBAR_TAB_RIGHT_UP |
Triggered when the right mouse button is released on a tab. |
EVT_RIBBONBAR_TAB_LEFT_DCLICK |
Triggered when the user double-clicks on a tab. |