Groupe de menus

Le groupe de menus organise les commandes et contrôles associés dans un menu ou une barre d’outils.

Introduction

Le contrôle Groupe de menus, exposé via l’élément de balisage MenuGroup , est un conteneur logique pour les groupes d’éléments ou de commandes dans les contrôles basés sur le menu, y compris la mini-barre d’outils contextuelle.

Une étiquette peut être spécifiée pour un groupe de menus via l’attribut LabelTitle ou la propriété Command.LabelTitle d’une déclaration de commande associée. La valeur affectée à LabelTitle est affichée en tant qu’en-tête de catégorie.

L’exemple suivant illustre le balisage Commande d’un contrôle Split Button qui inclut deux déclarations de commande de groupe de menus.

<!-- 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"/>

L’exemple suivant illustre le balisage requis pour un élément SplitButton avec trois déclarations d’éléments MenuGroup , dont deux sont associées aux commandes de groupe de menus de l’exemple précédent. L’attribut Class de l’élément MenuGroup est utilisé pour spécifier la taille des éléments de menu.

<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>

La capture d’écran suivante illustre le menu (avec trois contrôles de groupe de menus) généré à partir du balisage dans les exemples précédents.

screen shot of a menu with three menu group controls.

L’infrastructure du ruban définit une collection de clés de propriété pour le contrôle Groupe de menus.

En règle générale, une propriété Menu Group est mise à jour dans l’interface utilisateur du ruban en invalidant la commande associée au contrôle via un appel à la méthode IUIFramework::InvalidateUICommand . L’événement d’invalidation est géré et les mises à jour de propriétés définies par la méthode de rappel IUICommandHandler::UpdateProperty .

La méthode de rappel IUICommandHandler::UpdateProperty n’est pas exécutée et l’application interrogée pour une valeur de propriété mise à jour, jusqu’à ce que la propriété soit requise par l’infrastructure. Par exemple, lorsqu’un onglet est activé et qu’un contrôle s’affiche dans l’interface utilisateur du ruban, ou lorsqu’une info-bulle s’affiche.

Notes

Dans certains cas, une propriété peut être récupérée via la méthode IUIFramework::GetUICommandProperty et définie avec la méthode IUIFramework::SetUICommandProperty .

 

Le tableau suivant répertorie les clés de propriété associées au contrôle Groupe de menus.

Clé de propriété Notes
UI_PKEY_Enabled Prend en charge IUIFramework::GetUICommandProperty et IUIFramework::SetUICommandProperty.
UI_PKEY_Keytip Ne peut être mis à jour qu’à l’aide d’une invalidation.
UI_PKEY_Label Ne peut être mis à jour qu’à l’aide d’une invalidation.
UI_PKEY_TooltipDescription Ne peut être mis à jour qu’à l’aide d’une invalidation.
UI_PKEY_TooltipTitle Ne peut être mis à jour qu’à l’aide d’une invalidation.

 

Windows Bibliothèque de contrôle de l’infrastructure du ruban

Élément de balisage MenuGroup