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 . Les barres de menus permettent aux utilisateurs d’activer les commandes et les options contenues dans une application.
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 MenuBar. Les exigences UI Automation s’appliquent à tous les contrôles de barre de menus 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
- Rubriques connexes
Arborescence standard
Le tableau suivant illustre une vue de contrôle et de contenu classique 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.
Affichage de contrôle | Affichage de contenu |
---|---|
|
|
Un contrôle de barre de menus apparaît toujours dans l’affichage de 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).
UI Automation clients peuvent écouter l’événement UIA_MenuModeStartEventId pour s’assurer qu’ils sont avertis de manière cohérente lorsque l’interface utilisateur passe en mode 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 des contrôles d’édition et des zones de liste déroulante, dans sa structure. Ces contrôles supplémentaires correspondent aux « autres contrôles » répertoriés ci-dessus dans les affichages 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 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_AcceleratorKeyPropertyId | NULL | Les barres de menus n’ont généralement pas de touches d’accélérateur. |
UIA_AccessKeyPropertyId | « ALT » | Le fait d’appuyer sur la touche ALT doit généralement mettre le focus sur la barre de menus de l’application. |
UIA_BoundingRectanglePropertyId | Consultez les remarques. | La valeur exposée par cette propriété doit inclure tous les contrôles qu’elle contient. |
UIA_ControlTypePropertyId | MenuBar | |
UIA_IsContentElementPropertyId | FALSE | Le contrôle de barre de menus n’est pas inclus dans l’affichage de contenu de l’arborescence UI Automation. |
UIA_IsControlElementPropertyId | TRUE | Le contrôle de barre de menus est toujours inclus dans l’affichage du contrôle de l’arborescence UI Automation. |
UIA_IsKeyboardFocusablePropertyId | TRUE | Les contrôles de barre de menus sont actifs via le clavier, car les contrôles qu’ils contiennent peuvent recevoir le focus clavier. |
UIA_IsOffscreenPropertyId | Consultez les remarques. | La valeur de cette propriété varie selon que le contrôle est visible ou non à l’écran. |
UIA_LabeledByPropertyId | NULL | Les contrôles de barre de menus n’ont généralement pas d’étiquette. |
UIA_LocalizedControlTypePropertyId | Consultez les remarques. | Chaîne localisée correspondant au type de contrôle MenuBar . La valeur par défaut est « barre de menus » pour en-US ou english (États-Unis). |
UIA_NamePropertyId | Consultez les remarques. | Le contrôle de barre de menus n’a pas besoin d’un nom, sauf si une application contient 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é indique 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 qui doivent être pris en charge par les contrôles de barre de menus. 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, 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 Transformer . |
Événements obligatoires
Le tableau suivant répertorie les événements UI Automation que les contrôles de barre de menus 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_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 |
Rubriques connexes