Grupo de menús
El grupo de menús organiza los comandos y controles relacionados dentro de un menú o barra de herramientas.
Introducción
El control Grupo de menús, expuesto a través del elemento de marcado MenuGroup , es un contenedor lógico para grupos de elementos o Comandos en controles basados en menús, incluido el menú emergente contextual Mini-Toolbar.
Se puede especificar una etiqueta para un grupo de menús mediante el atributo LabelTitle o la propiedad Command.LabelTitle de una declaración Command asociada. El valor asignado a LabelTitle se representa como un encabezado de categoría.
En el ejemplo siguiente se muestra el marcado Comando para un control Split Button que incluye dos declaraciones de comando de grupo de menús.
<!-- SplitButton -->
<Command Name="cmdSplitButtonGroup"
Symbol="cmdSplitButtonGroup"
Comment="SplitButton Group"
LabelTitle="SplitButton"/>
<Command Name="cmdSplitButton"
Symbol="cmdSplitButton"
Comment="SplitButton"
LabelTitle="SplitButton"/>
<Command Name="cmdSBButtonItem"
Symbol="cmdSBButtonItem"
Comment="SBButtonItem"
LabelTitle="SB ButtonItem"/>
<Command Name="cmdSBButton1"
Symbol="cmdSBButton1"
Comment="SBButton1"
LabelTitle="SB Button">
<Command.LargeImages>
<Image Source="res/copyL_32.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="res/copyS_16.bmp"/>
</Command.SmallImages>
<Command.LargeHighContrastImages>
<Image Source="res/copyLHC_32.bmp"/>
</Command.LargeHighContrastImages>
<Command.SmallHighContrastImages>
<Image Source="res/copySHC_16.bmp"/>
</Command.SmallHighContrastImages>
</Command>
<Command Name="cmdSBMajorItems"
Comment="Major Items Category"
LabelTitle="Major Items"/>
<Command Name="cmdSBStandardItems"
Comment="Standard Items Category"
LabelTitle="Standard Items"/>
En el ejemplo siguiente se muestra el marcado necesario para un elemento SplitButton con tres declaraciones de elemento MenuGroup , dos de las cuales están asociadas a los comandos de grupo de menús del ejemplo anterior. El atributo Class del elemento MenuGroup se usa para especificar el tamaño de los elementos de menú.
<Group CommandName="cmdSplitButtonGroup">
<SplitButton CommandName="cmdSplitButton">
<SplitButton.ButtonItem>
<Button CommandName="cmdSBButtonItem"/>
</SplitButton.ButtonItem>
<SplitButton.MenuGroups>
<MenuGroup CommandName="cmdSBMajorItems"
Class="MajorItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
<MenuGroup CommandName="cmdSBStandardItems"
Class="StandardItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
<MenuGroup Class="StandardItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
</SplitButton.MenuGroups>
</SplitButton>
</Group>
En la captura de pantalla siguiente se muestra el menú (con tres controles de grupo de menús) que se genera a partir del marcado en los ejemplos anteriores.
Propiedades del grupo de menús
El marco de la cinta define una colección de claves de propiedad para el control Grupo de menús.
Normalmente, una propiedad Grupo de menús se actualiza en la interfaz de usuario de la cinta invalidando el comando asociado al control a través de una llamada al método IUIFramework::InvalidateUICommand . El evento de invalidación se controla y la propiedad se actualiza definida por el método de devolución de llamada IUICommandHandler::UpdateProperty .
El método de devolución de llamada IUICommandHandler::UpdateProperty no se ejecuta y la aplicación consulta para obtener un valor de propiedad actualizado, hasta que el marco requiera la propiedad. Por ejemplo, cuando se activa una pestaña y se muestra un control en la interfaz de usuario de la cinta de opciones, o cuando se muestra una información sobre herramientas.
Nota
En algunos casos, se puede recuperar una propiedad a través del método IUIFramework::GetUICommandProperty y establecer con el método IUIFramework::SetUICommandProperty .
En la tabla siguiente se enumeran las claves de propiedad asociadas al control Grupo de menús.
Clave de propiedad | Notas |
---|---|
UI_PKEY_Enabled | Admite IUIFramework::GetUICommandProperty e IUIFramework::SetUICommandProperty. |
UI_PKEY_Keytip | Solo se puede actualizar a través de la invalidación. |
UI_PKEY_Label | Solo se puede actualizar a través de la invalidación. |
UI_PKEY_TooltipDescription | Solo se puede actualizar a través de la invalidación. |
UI_PKEY_TooltipTitle | Solo se puede actualizar a través de la invalidación. |
Temas relacionados