Partager via


Groupe de menus

Le groupe de menus organise les commandes et les 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 les commandes dans les contrôles basés sur les menus, 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 Command associée. La valeur affectée à LabelTitle est affichée sous forme d’en-tête de catégorie.

L’exemple suivant illustre le balisage de commande pour un contrôle Fractionner le bouton qui comprend deux déclarations de commande de groupe de menu.

<!-- 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 Groupe de menus) généré à partir du balisage dans les exemples précédents.

capture d’écran d’un menu avec trois contrôles de groupe de menus.

L’infrastructure 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é Groupe de menus 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 la propriété est mise à jour définie par la méthode de rappel IUICommandHandler::UpdateProperty .

La méthode de rappel IUICommandHandler::UpdateProperty n’est pas exécutée et l’application a demandé 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 est révélé dans l’interface utilisateur du ruban, ou lorsqu’une info-bulle est affichée.

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 Peut uniquement être mis à jour via l’invalidation.
UI_PKEY_Label Peut uniquement être mis à jour via l’invalidation.
UI_PKEY_TooltipDescription Peut uniquement être mis à jour via l’invalidation.
UI_PKEY_TooltipTitle Peut uniquement être mis à jour via l’invalidation.

 

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

Élément de balisage MenuGroup