Split Button
The Split Button is a composite control with which the user can select a default value bound to a primary button, or select from a list of mutually exclusive values displayed in a drop-down list bound to a secondary button.
Introduction
This control is useful for exposing closely related items in cases where an obvious default is available and where the individual items can be represented by an image, text, or both.
The following screen shot illustrates the Ribbon Split Button.
Split Button Properties
The Ribbon framework defines a collection of property keys for the Split Button control.
Typically, a Split Button property is updated in the ribbon UI by invalidating the Command associated with the control through a call to the IUIFramework::InvalidateUICommand method. The invalidation event is handled, and the property updates defined, by the IUICommandHandler::UpdateProperty callback method.
The IUICommandHandler::UpdateProperty callback method is not executed, and the application queried for an updated property value, until the property is required by the framework. For example, when a tab is activated and a control revealed in the ribbon UI, or when a tooltip is displayed.
Note
In some cases, a property can be retrieved through the IUIFramework::GetUICommandProperty method and set with the IUIFramework::SetUICommandProperty method.
The following table lists the property keys that are associated with the Split Button control.
Property Key | Notes |
---|---|
UI_PKEY_Enabled | Supports IUIFramework::GetUICommandProperty and IUIFramework::SetUICommandProperty. If all child items are disabled, the framework sets UI_PKEY_Enabled to false (0). Otherwise, if one or more child items are enabled, UI_PKEY_Enabled is set to true (-1). Important: The UI_PKEY_Enabled property for the Split Button control should be invalidated after one or more child items are enabled or disabled. This ensures that the framework queries the updated property value and refreshes the state of the Split Button control in the ribbon UI. |
UI_PKEY_Keytip | Can only be updated through invalidation. |
UI_PKEY_TooltipDescription | Can only be updated through invalidation. |
UI_PKEY_TooltipTitle | Can only be updated through invalidation. |