MenuItem, type de contrôle
Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle MenuItem.
Un contrôle menu permet une organisation hiérarchique des éléments associés à des commandes et des gestionnaires d’événements. Dans une application Windows classique, une barre de menus contient plusieurs éléments de menu (tels que Fichier, Modifier et Fenêtre), et chaque élément de menu affiche un menu. Un menu contient un groupe d’éléments de menu (tels que Nouveau, Ouvriret Fermer), qui peuvent être développés pour afficher des éléments de menu supplémentaires ou pour exécuter une action spécifique quand vous cliquez dessus.
Les sections suivantes définissent les UI Automation l’arborescence, les propriétés, les modèles de contrôle et les événements requis pour le type de contrôle MenuItem. Les exigences UI Automation s’appliquent à tous les contrôles d’élément de menu où l’infrastructure/plateforme d’interface utilisateur intègre UI Automation prise en charge des types de contrôles et des modèles de contrôle.
Cette rubrique contient les sections suivantes.
- Arborescence standard
- Propriétés pertinentes
- Modèles de contrôle requis
- Événements obligatoires
- Problèmes d’héritage
- Rubriques connexes
Arborescence standard
Le tableau suivant illustre une vue de contrôle et de contenu standard 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 affichage. Pour plus d’informations sur l’arborescence UI Automation, consultez Vue d’ensemble de l’arborescence UI Automation.
Affichage de contrôle | Affichage de contenu |
---|---|
|
|
L’arborescence UI Automation de la vue de contrôle du contrôle d’élément de menu est représentée ci-dessus. Notez que l’élément de menu 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 il 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 UI Automation propriétés, consultez Récupération de propriétés à partir d’éléments UI Automation.
Propriété UI Automation | Valeur | Notes |
---|---|---|
UIA_AutomationIdPropertyId | Consultez les remarques. | 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 pour 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 rempli dynamiquement et non prévisible, laissez la propriété AutomationId vide. |
UIA_BoundingRectanglePropertyId | Consultez les remarques. | Rectangle externe qui contient l’ensemble du contrôle. |
UIA_ClickablePointPropertyId | Consultez les remarques. | Pris en charge s’il existe un rectangle englobant. Si tous les points du rectangle englobant ne sont pas cliquables et que l’élément effectue des tests de positionnement spécialisés, remplacez et fournissez un point cliquable. |
UIA_ControlTypePropertyId | MenuItem | |
UIA_IsContentElementPropertyId | true | Le contrôle d’élément de menu est toujours inclus dans l’affichage du contenu de l’arborescence UI Automation. |
UIA_IsControlElementPropertyId | true | Le contrôle d’élément de menu est toujours inclus dans la vue de contrôle de l’arborescence UI Automation. |
UIA_IsKeyboardFocusablePropertyId | Consultez les remarques. | Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété. |
UIA_LocalizedControlTypePropertyId | Consultez les remarques. | 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 anglais (États-Unis). |
UIA_NamePropertyId | Consultez les remarques. | 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 qui doivent être pris en charge par les contrôles de menu. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.
Modèle de contrôle | Support | 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éments de menu doivent prendre en charge. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.
É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 d’héritage
Pour les éléments de menu Microsoft Win32, le modèle de contrôle Bascule est pris en charge uniquement lorsqu’un élément de menu est activé et il est possible de déterminer par programmation 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 qui sont uniquement nécessaires pour prendre en charge le modèle de contrôle Bascule. Ainsi, les clients ne deviennent pas confus lorsqu’un élément de menu qui prenait en charge le modèle de contrôle Invoke (lorsque l’élément de menu a été décoché) ne prend plus en charge ce modèle lorsqu’il est activé.
Rubriques connexes