Grupo de menús

El grupo de menús organiza 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, incluida la barra de herramientas emergente contextual .

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 de un control Split Button que incluye dos declaraciones de comandos 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 siguiente captura de pantalla se muestra el menú (con tres controles de grupo de menús) que se genera a partir del marcado en los ejemplos anteriores.

screen shot of a menu with three menu group controls.

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 de opciones 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.

 

biblioteca de controles del marco de la cinta de opciones de Windows

Elemento de marcado MenuGroup