Prise en charge d'UI Automation pour le type de contrôle Menu

Notes

Cette documentation s’adresse aux développeurs .NET Framework qui souhaitent utiliser les classes UI Automation managées définies dans l’espace de noms System.Windows.Automation. Pour obtenir les dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle Menu. Elle décrit l’arborescence Microsoft UI Automation du contrôle et fournit les propriétés et les modèles de contrôle pour des scénarios de contrôle spécifiques.

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 Microsoft Windows classique, une barre de menus contient plusieurs boutons de menu (tels que Fichier, Edition et Fenêtre) et chaque bouton 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 l’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation nécessaires pour le type de contrôle Menu. Les exigences UI Automation s’appliquent à tous les contrôles de liste, que ce soit Windows Presentation Foundation (WPF), Win32 ou Windows Forms.

Arborescence UI Automation obligatoire

Le tableau suivant représente l’affichage de contrôle et l’affichage du contenu de l’arborescence UI Automation relative aux contrôles de menu. En outre, il décrit ce que peut contenir chaque affichage. Pour plus d’informations sur l’arborescence de l’IU Automation, consultez Vue d’ensemble de l’arborescence de l’IU Automation.

Affichage de contrôle Affichage de contenu
Menu

- MenuItem (1 ou plusieurs)
Non applicable (à moins que le contrôle de menu soit un menu contextuel parent d’un objet qui n’est pas un élément de menu)

- MenuItem (1 ou plusieurs)

Les contrôles menu apparaissent toujours dans l’affichage de contrôle et l’affichage du contenu de l’arborescence UI Automation. Les types de contrôle menu doivent apparaître sous le contrôle auquel leurs informations font référence. Les clients UI Automation doivent écouter MenuOpenedEvent pour faire en sorte d’obtenir constamment les informations communiquées par les contrôles menu. Les contrôles de menu contextuel constituent un cas particulier. Ils apparaissent en tant qu’enfants du Bureau.

Propriétés UI Automation obligatoires

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement adaptée au type de contrôle Menu. Pour plus d’informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.

Propriété UI Automation Valeur Notes
NameProperty Non pris en charge Avec le contrôle menu, il n’est pas nécessaire de définir une propriété Name.
LabeledByProperty Null Aucune étiquette n’est censée accompagner un contrôle menu standard.
ControlTypeProperty Menu Cette valeur est identique pour toutes les infrastructures d’interface utilisateur.
IsContentElementProperty False Le contrôle menu n’est pas inclus dans l’affichage de contenu de l’arborescence UI Automation.
IsControlElementProperty True Le contrôle menu est toujours inclus dans l’affichage de contrôle de l’arborescence UI Automation.

Modèles de contrôle UI Automation obligatoires

Il n’existe aucun modèle de contrôle obligatoire pour le type de contrôle Menu.

Événements UI Automation obligatoires

Les contrôles menu doivent déclencher MenuOpenedEvent quand ils s’affichent à l’écran. MenuOpenedEvent comprend le texte du contrôle. MenuClosedEvent doit être déclenché quand un menu disparaît de l’écran.

Le tableau suivant répertorie les événements UI Automation qui doivent être pris en charge par tous les contrôles menu. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Événement UI Automation Prise en charge/valeur Notes
MenuOpenedEvent Obligatoire None
MenuClosedEvent Obligatoire None
Événement de modification de propriétéBoundingRectangleProperty Obligatoire None
Événement de modification de propriétéIsOffscreenProperty Obligatoire None
Événement de modification de propriétéIsEnabledProperty Obligatoire None
AutomationFocusChangedEvent Obligatoire None
StructureChangedEvent Obligatoire None

Voir aussi