Partager via


Type de contrôle MenuBar

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

Les contrôles de barre de menus sont un exemple de contrôles qui implémentent le type de contrôle MenuBar MenuBar. Les barres de menus permettent aux utilisateurs d’activer des commandes et des options contenues dans une application.

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 MenuBar. Les exigences UI Automation s’appliquent à tous les contrôles de barre de menus où l’infrastructure/la plateforme d’interface utilisateur intègre la prise en charge d’UI Automation pour les types de contrôle 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 de barre de menus 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.

Vue contrôle Affichage de contenu
  • MenuBar
    • MenuItem (1 ou plus)
    • Autres contrôles (0 ou plusieurs)
  • Sans objet
    • MenuItem (1 ou plus)
    • Autres contrôles (0 ou plusieurs)

 

Un contrôle de barre de menus apparaît toujours dans l’affichage contrôle, mais pas dans l’affichage de contenu, car il ne transmet généralement pas d’informations significatives à l’utilisateur final (sauf si l’application contient plusieurs barres de menus).

Les clients UI Automation peuvent écouter l’événement UIA_MenuModeStartEventId pour s’assurer qu’ils sont avertis de manière cohérente lorsque l’interface utilisateur entre en mode de menu. Lorsque l’application est en mode menu, toutes les entrées du clavier peuvent être capturées pour la navigation dans le menu (par exemple, la saisie de « s » peut appeler le menu Enregistrer au lieu de taper le caractère dans la zone cliente de l’application). L’événement UIA_MenuModeStartEventId doit précéder le premier événement UIA_MenuOpenedEventId pour garantir la cohérence logique. L’événement UIA_MenuModeEndEventId suit le dernier événement UIA_MenuClosedEventId. Cliquer sur un élément de menu peut également déclencher immédiatement l’événement UIA_MenuModeStartEventId, suivi d’un événement UIA_MenuOpenedEventId.

Un contrôle de barre de menus peut contenir d’autres contrôles, tels que les contrôles d’édition et les zones de liste modifiable, dans sa structure. Ces contrôles supplémentaires correspondent aux « autres contrôles » répertoriés ci-dessus dans les vues de contrôle et de contenu.

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 MenuBar . 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_AcceleratorKeyPropertyId ZÉRO Les barres de menus n’ont généralement pas de touches d’accélérateur.
UIA_AccessKeyPropertyId « Alt » Appuyer sur la touche Alt doit généralement porter le focus sur la barre de menus au sein de l’application.
UIA_BoundingRectanglePropertyId Consultez les notes. La valeur exposée par cette propriété doit inclure tous les contrôles contenus dans celui-ci.
UIA_ControlTypePropertyId MenuBar
UIA_IsContentElementPropertyId FAUX Le contrôle de barre de menus n’est pas inclus dans l’affichage contenu de l’arborescence UI Automation.
UIA_IsControlElementPropertyId VRAI Le contrôle de barre de menus est toujours inclus dans l’affichage contrôle de l’arborescence UI Automation.
UIA_IsKeyboardFocusablePropertyId VRAI Les contrôles de barre de menus sont focusables au clavier, car les contrôles qu’ils contiennent peuvent prendre le focus clavier.
UIA_IsOffscreenPropertyId Consultez les notes. La valeur de cette propriété dépend de l’affichage du contrôle à l’écran.
UIA_LabeledByPropertyId ZÉRO Les contrôles de barre de menus n’ont généralement pas d’étiquette.
UIA_LocalizedControlTypePropertyId Consultez les notes. Chaîne localisée correspondant au type de contrôle MenuBar. La valeur par défaut est « barre de menus » pour en-US ou l’anglais (États-Unis).
UIA_NamePropertyId Consultez les notes. Le contrôle de barre de menus n’a pas besoin d’un nom, sauf si une application a plusieurs barres de menus. S’il existe plusieurs barres de menus dans une application, utilisez cette propriété pour exposer des noms distinctifs, tels que « Mise en forme » ou « Plan ».
UIA_OrientationPropertyId Dépend Cette propriété expose si le contrôle de barre de menus est horizontal ou vertical.

 

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 de barre de menus. 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, il doit implémenter le modèle de contrôle ExpandCollapse.
IDockProvider Dépend Si le contrôle peut être ancré à différentes parties de l’écran, il doit implémenter le modèle de contrôle Dock.
ITransformProvider Dépend Si le contrôle peut être redimensionné, pivoté ou déplacé, il doit implémenter le modèle de contrôle Transform.

 

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation requis pour prendre en charge les contrôles de barre de menus. 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_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_StructureChangedEventId

 

conceptuelle

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

Vue d’ensemble UI Automation