Partager via


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

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent utiliser les classes UI Automation managées définies dans l'espace de noms System.Windows.Automation.Pour obtenir les informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation (page éventuellement en anglais).

Cette rubrique fournit des informations sur la prise en charge d'Microsoft UI Automation pour le type de contrôle MenuItem. Elle décrit l'arborescence Microsoft UI Automation du contrôle et fournit les propriétés et les modèles de contrôle requis pour le type de contrôle MenuItem.

Un contrôle de menu permet une organisation hiérarchique des éléments associés aux commandes et gestionnaires d'événements. Dans une application Microsoft Windows type, une barre de menus contient plusieurs éléments de menu (comme Fichier, Modifier et Fenêtre), et chaque élément de menu affiche un menu. Un menu contient une collection d'éléments de menu (tels que Nouveau, Ouvrir et Fermer) qui peuvent être développés pour afficher des éléments de menu supplémentaires ou exécuter une action spécifique lorsque l'utilisateur clique dessus. Un élément de menu peut être hébergé dans un menu, une barre de menus ou une barre d'outils.

Les sections suivantes définissent l'arborescence UI Automation, les propriétés, les modèles de contrôle et les événements requis pour le type de contrôle MenuItem. Les spécifications UI Automation s'appliquent à tous les contrôles de liste, qu'il s'agisse de Windows Presentation Foundation (WPF), Win32 ou Windows Forms.

Cette rubrique comprend les sections suivantes.

  • Arborescence UI Automation requise
  • Propriétés UI Automation requises
  • Modèles de contrôle UI Automation requis
  • Événements UI Automation pour l'élément de menu
  • Événements UI Automation requis
  • Problèmes d'héritage
  • Rubriques connexes

Arborescence UI Automation requise

Le tableau suivant représente l'affichage de contrôle et l'affichage du contenu de l'arborescence UI Automation concernant les contrôles d'élément de menu et décrit ce qui peut être inclus 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 du contenu

MenuItem "Aide"

  • Menu (sous-menu de l'élément de menu Aide)

    • MenuItem "Rubriques d'aide"

    • MenuItem "À propos du Bloc-notes"

MenuItem "Aide"

  • MenuItem "Rubriques d'aide"

  • MenuItem "À propos du Bloc-notes"

L'affichage de contrôle du contrôle d'élément de menu a l'arborescence UI Automation présentée ci-dessus. Notez que l'élément de menu ? (Aide) est inclus pour mieux illustrer la structure d'un menu typique de la hiérarchie de sous-menu.

Pour l'affichage du contenu, Menu est absent de l'arborescence UI Automation, car il ne donne pas d'informations explicites à l'utilisateur final.

Propriétés UI Automation requises

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour les contrôles d'élément de menu. Pour plus d'informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.

Propriété

Valeur

Description

AutomationIdProperty

Consulter les remarques.

La valeur de cette propriété doit être unique dans tous les contrôles d'une application.

BoundingRectangleProperty

Consulter les remarques.

Le rectangle le plus éloigné qui contient l'ensemble du contrôle.

ClickablePointProperty

Consulter les remarques.

Prise en charge s'il existe un rectangle englobant. Si les points du rectangle englobant ne sont pas tous interactifs et que vous effectuez un test de recherche spécialisé, vous devez substituer et fournir un point interactif.

IsKeyboardFocusableProperty

Consulter les remarques.

Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.

NameProperty

Consulter les remarques.

Le contrôle d'élément de menu est inclus dans l'affichage du contenu de l'arborescence UI Automation et est étiqueté automatiquement avec un nom.

LabeledByProperty

Null

Aucune étiquette.

ControlTypeProperty

MenuItem

Cette valeur est la même pour toutes les infrastructures d'interface utilisateur.

LocalizedControlTypeProperty

"élément de menu"

Chaîne localisée correspondant au type de contrôle MenuItem.

IsContentElementProperty

True

Le contrôle d'élément de menu n'est jamais inclus dans l'affichage du contenu de l'arborescence UI Automation.

IsControlElementProperty

True

Le contrôle d'élément de menu doit toujours être inclus dans l'affichage de contrôle de l'arborescence UI Automation.

Modèles de contrôle UI Automation requis

Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent ê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.

Propriété du modèle de contrôle

Prise en charge

Remarques

IExpandCollapseProvider

Selon le cas

Si le contrôle peut être développé ou réduit, implémentez IExpandCollapseProvider.

IInvokeProvider

Selon le cas

Si le contrôle exécute une seule action ou commande, implémentez IInvokeProvider.

IToggleProvider

Selon le cas

Si le contrôle représente une option qui peut être activée ou désactivée, implémentez IToggleProvider.

ISelectionItemProvider

Selon le cas

Si le contrôle est utilisé pour sélectionner des éléments de menu dans une liste d'options, implémentez ISelectionItemProvider.

Événements UI Automation pour l'élément de menu

Le tableau suivant répertorie les événements Microsoft UI Automation associés au contrôle d'élément de menu.

Événement

Prise en charge

Explication

InvokedEvent

Selon le cas

Doit être déclenché si le contrôle prend en charge le modèle de contrôle Invoke.

Événement de modification de propriété ToggleStateProperty.

Selon le cas

Doit être déclenché si le contrôle prend en charge le modèle de contrôle Toggle.

Événement de modification de propriété ExpandCollapseStateProperty.

Selon le cas

Doit être déclenché si le contrôle prend en charge le modèle de contrôle Expand Collapse.

ElementSelectedEvent

Selon le cas

Aucun

Événements UI Automation requis

Le tableau suivant répertorie les événements UI Automation qui doivent être pris en charge par tous les contrôles d'élément de menu. Pour plus d'informations sur les événements, consultez Vue d'ensemble des événements UI Automation.

Événement UI Automation

Prise en charge/Valeur

Remarques

InvokedEvent

Selon le cas

Aucun

ElementAddedToSelectionEvent

Selon le cas

Aucun

ElementRemovedFromSelectionEvent

Selon le cas

Aucun

ElementSelectedEvent

Selon le cas

Aucun

Événement de modification de propriété BoundingRectangleProperty.

Obligatoire

Aucun

Événement de modification de propriété IsOffscreenProperty.

Obligatoire

Aucun

Événement de modification de propriété IsEnabledProperty.

Obligatoire

Aucun

Événement de modification de propriété ExpandCollapseStateProperty.

Selon le cas

Aucun

Événement de modification de propriété ToggleStateProperty.

Selon le cas

Aucun

AutomationFocusChangedEvent

Obligatoire

Aucun

StructureChangedEvent

Obligatoire

Aucun

Problèmes d'héritage

Le modèle Toggle est pris en charge uniquement lorsque l'élément de menu Win32 est activé et peut être déterminé par programme comme étant nécessaire pour prendre en charge le modèle Toggle. Étant donné que l'élément de menu Win32 n'indique pas s'il peut être activé, le modèle Invoke est pris en charge lorsque l'élément de menu n'est pas activé. Une exception est faite pour toujours prendre en charge le modèle Invoke même pour les éléments de menu qui ne doivent prendre en charge que le modèle Toggle. L'objectif est de ne pas dérouter les clients parce qu'un élément qui prenait en charge le modèle Invoke (lorsque l'élément de menu était désactivé) ne prend plus en charge le modèle une fois qu'il est activé.

Voir aussi

Référence

MenuItem

Concepts

Vue d'ensemble des modèles de contrôle UI Automation

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

Vue d'ensemble d'UI Automation