Mostrar la cinta de opciones
El marco de la cinta de opciones de Windows expone un conjunto de propiedades que permiten a una aplicación especificar cómo se muestra la interfaz de usuario de la cinta en tiempo de ejecución.
Introducción
Para maximizar el área disponible para el espacio del documento (o puerto de vista) de una aplicación de marco de cinta de opciones, una aplicación puede especificar si la interfaz de usuario de la cinta está visible u oculta y, cuando está visible, si la cinta está en un estado expandido o contraído.
Las claves de propiedad de marco enumeradas en la tabla siguiente se usan para establecer explícitamente las características de visualización de la interfaz de usuario de la cinta de opciones en una aplicación de marco de cinta de opciones. Estas propiedades no tienen ningún efecto en la presentación del control Contextual Popup .
Estado de visualización | Clave de propiedad de cinta de opciones |
---|---|
Expandido o contraído | UI_PKEY_Minimized |
Visible u oculta | UI_PKEY_Viewable |
Minimizar la cinta de opciones
Una aplicación de marco de cinta de opciones puede establecer dinámicamente el estado minimizado de la barra de comandos de la cinta estableciendo el valor de la clave de propiedad UI_PKEY_Minimized en true o false.
Estado de visualización | Valor de clave de propiedad |
---|---|
Expandido | false |
Collapsed | true |
Cuando la interfaz de usuario de la cinta de opciones está en un estado minimizado, la fila Tab de la cinta permanece visible y totalmente funcional.
En la captura de pantalla siguiente se muestra la cinta de opciones en estado minimizado.
Nota
El marco de la cinta expone esta funcionalidad al usuario final a través de la selección "Minimizar la cinta" del menú contextual de la cinta de opciones.
Ocultar la cinta de opciones
Una aplicación de marco de cinta de opciones puede establecer dinámicamente el estado visible de la barra de comandos de la cinta estableciendo el valor de la clave de propiedad UI_PKEY_Viewable en true o false.
Estado de visualización | Valor de clave de propiedad |
---|---|
Visible | false |
Hidden | true |
A diferencia de la propiedad UI_PKEY_Minimized , establecer UI_PKEY_Viewable en false representa la interfaz de usuario de la cinta invisible y completamente inutilizable para un usuario final.
En la siguiente captura de pantalla se muestra la cinta de opciones en estado oculto.
Ejemplo
En el ejemplo siguiente se muestra cómo establecer el estado de la interfaz de usuario de la cinta en tiempo de ejecución.
En este caso, la función IUICommandHandler::Execute se usa para expandir o contraer la interfaz de usuario de la cinta en función del estado de alternancia de un botón de alternancia.
//
// FUNCTION: Execute()
//
// PURPOSE: Called by the Ribbon framework when a Command is executed
// by the user.
// This example demonstrates a handler for a Toggle Button
// that sets the minimized state of the ribbon UI.
//
// NOTES: g_pFramework is a global pointer to an IUIFramework object
// that is assigned when the Ribbon framework is initialized.
//
// g_pRibbon is a global pointer to the IUIRibbon object
// that is assigned when the Ribbon framework is initialized.
//
STDMETHODIMP CCommandHandler::Execute(
UINT nCmdID,
UI_EXECUTIONVERB verb,
__in_opt const PROPERTYKEY* key,
__in_opt const PROPVARIANT* ppropvarValue,
__in_opt IUISimplePropertySet* pCommandExecutionProperties)
{
HRESULT hr = E_FAIL;
if (verb == UI_EXECUTIONVERB_EXECUTE)
{
switch (nCmdID)
{
// Minimize ribbon Command handler.
case IDR_CMD_MINIMIZE:
if (g_pFramework)
{
IPropertyStore *pPropertyStore = NULL;
hr = g_pRibbon->QueryInterface(__uuidof(IPropertyStore),
(void**)&pPropertyStore);
if (SUCCEEDED(hr))
{
if (ppropvarValue != NULL)
{
// Is the ToggleButton state on or off?
BOOL fToggled;
hr = UIPropertyToBoolean(*key, *ppropvarValue, &fToggled);
if (SUCCEEDED(hr))
{
// Set the ribbon display state based on the toggle state.
PROPVARIANT propvar;
PropVariantInit(&propvar);
UIInitPropertyFromBoolean(UI_PKEY_Minimized,
fToggled,
&propvar);
hr = pPropertyStore->SetValue(UI_PKEY_Minimized,
propvar);
pPropertyStore->Commit();
}
pPropertyStore->Release();
}
}
}
break;
}
}
return hr;
}
Temas relacionados