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
- propriétés pertinentes
- modèles de contrôle requis
- événements obligatoires
- problèmes hérités
- rubriques connexes
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 |
---|---|
|
|
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é.
Rubriques connexes
-
conceptuelle
-
Vue d’ensemble UI Automation