Partager via


Type de contrôle MenuItem

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle MenuItem.

Un contrôle de menu permet l’organisation hiérarchique des éléments associés aux commandes et aux gestionnaires d’événements. Dans une application Windows classique, une barre de menus contient plusieurs éléments de menu (tels que fichier, Modifieret fenêtre), et chaque élément de menu affiche un menu. Un menu contient une collection d’éléments de menu (tels que Nouvelle, Ouvriret Fermer), qui peuvent être développés pour afficher des éléments de menu supplémentaires ou effectuer une action spécifique en cliquant sur.

Les sections suivantes définissent la structure d’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation requis pour le type de contrôle MenuItem. Les exigences UI Automation s’appliquent à tous les contrôles d’élément de menu dans lesquels l’infrastructure/la plateforme d’interface utilisateur intègre la prise en charge d’UI Automation pour les types de contrôles et les modèles de contrôle.

Cette rubrique contient les sections suivantes.

Structure d’arborescence classique

Le tableau suivant illustre un contrôle et une vue de contenu typiques de l’arborescence UI Automation qui se rapporte aux contrôles d’élément de menu et décrit ce qui peut être contenu dans chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez vue d’ensemble de l’arborescence UI Automation.

Vue contrôle Affichage de contenu
  • MenuItem « Help »
    • Menu (sous-menu de l’élément de menu Aide)
      • MenuItem « Rubriques d’aide »
      • MenuItem " À propos du Bloc-notes »
  • MenuItem « Help »
    • MenuItem « Rubriques d’aide »
    • MenuItem " À propos du Bloc-notes »

 

L’affichage de contrôle du contrôle d’élément de menu a la structure d’arborescence UI Automation indiquée ci-dessus. Notez que l’élément de menu pour 'aide dans la barre de menus a été ajouté pour mieux illustrer la structure.

Pour l’affichage de contenu, menu est absent de l’arborescence UI Automation, car elle ne transmet pas d’informations significatives à l’utilisateur final.

Propriétés pertinentes

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour le type de contrôle MenuItem. Pour plus d’informations sur les propriétés UI Automation, consultez Récupération des propriétés à partir d’UI Automation Elements.

UI Automation, propriété Valeur Notes
UIA_AutomationIdPropertyId Consultez les notes. La valeur de cette propriété doit être unique parmi tous les éléments homologues dans la vue brute de l’arborescence UI Automation. Allouez la propriété AutomationId d’un élément de menu si l’élément est connu pour être cohérent entre différentes instances de l’interface utilisateur. Si l’élément de menu est renseigné dynamiquement et non prévisible, laissez la propriété AutomationId vide.
UIA_BoundingRectanglePropertyId Consultez les notes. Rectangle le plus externe qui contient l’ensemble du contrôle.
UIA_ClickablePointPropertyId Consultez les notes. Prise en charge s’il existe un rectangle englobant. Si aucun point dans le rectangle englobant n’est cliquable et que l’élément effectue des tests de positionnement spécialisés, remplacez et fournissez un point cliquable.
UIA_ControlTypePropertyId MenuItem
UIA_IsContentElementPropertyId VRAI Le contrôle d’élément de menu est toujours inclus dans la vue de contenu de l’arborescence UI Automation.
UIA_IsControlElementPropertyId VRAI Le contrôle d’élément de menu est toujours inclus dans l’affichage contrôle de l’arborescence UI Automation.
UIA_IsKeyboardFocusablePropertyId Consultez les notes. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
UIA_LocalizedControlTypePropertyId Consultez les notes. Chaîne localisée correspondant au type de contrôle MenuItem. La valeur par défaut est « élément de menu » pour en-US ou l’anglais (États-Unis).
UIA_NamePropertyId Consultez les notes. Le nom du contrôle d’élément de menu est le texte utilisé pour l’étiqueter.

 

Modèles de contrôle requis

Le tableau suivant répertorie les modèles de contrôle UI Automation requis pour être pris en charge par les contrôles d’élément de menu. Pour plus d’informations sur les modèles de contrôle, consultez Vue d’ensemble des modèles de contrôle UI Automation.

Modèle de contrôle Soutien Notes
IExpandCollapseProvider Dépend Si le contrôle peut être développé ou réduit, implémentez IExpandCollapseProvider.
IInvokeProvider Dépend Si le contrôle exécute une seule action ou commande, implémentez IInvokeProvider.
ISelectionItemProvider Dépend Si le contrôle est utilisé pour effectuer une sélection dans une liste d’options parmi les éléments de menu, implémentez ISelectionItemProvider.
IToggleProvider Dépend Si le contrôle représente une option qui peut être activée ou désactivée, implémentez IToggleProvider.

 

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation que les contrôles d’élément de menu sont nécessaires pour prendre en charge. Pour plus d’informations sur les événements, consultez vue d’ensemble des événements UI Automation.

Événement UI Automation Notes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId événement de modification de propriété.
UIA_ExpandCollapseExpandCollapseStatePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle ExpandCollapse, il doit prendre en charge cet événement.
UIA_Invoke_InvokedEventId Si le contrôle prend en charge le modèle de contrôle Invoke, il doit prendre en charge cet événement.
UIA_IsEnabledPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsEnabled, il doit prendre en charge cet événement.
UIA_IsOffscreenPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsOffscreen, il doit prendre en charge cet événement.
UIA_SelectionItem_ElementAddedToSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_SelectionItem_ElementSelectedEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle bascule, il doit prendre en charge cet événement.

 

Problèmes hérités

Pour les éléments de menu Microsoft Win32, le bascule modèle de contrôle est pris en charge uniquement lorsqu’un élément de menu est activé et qu’il est possible de déterminer par programme si la prise en charge du modèle de contrôle Bascule est requise. Étant donné qu’un élément de menu Win32 n’expose pas s’il peut être vérifié, le modèle de contrôle Invoke est pris en charge lorsque l’élément de menu n’est pas activé. Le modèle de contrôle Invoke est toujours pris en charge, même pour les éléments de menu requis uniquement pour prendre en charge le modèle de contrôle Bascule. C’est pourquoi les clients ne sont pas confondus lorsqu’un élément de menu prenant en charge le modèle de contrôle Invoke (lorsque l’élément de menu a été désactivé) ne prend plus en charge ce modèle lorsqu’il est activé.

conceptuelle

Vue d’ensemble des types de contrôle UI Automation

Vue d’ensemble UI Automation