MenuBar, typ kontrolki
Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla paska menu typu kontrolki.
Kontrolki paska menu to przykład kontrolek, które implementują MenuBar typ kontrolki. Paski menu umożliwiają użytkownikom aktywowanie poleceń i opcji zawartych w aplikacji.
W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla MenuBar typu kontrolki. Wymagania automatyzacji interfejsu użytkownika mają zastosowanie do wszystkich kontrolek paska menu, w których platforma/platforma interfejsu użytkownika integruje obsługę automatyzacji interfejsu użytkownika dla typów kontrolek i wzorców kontrolek.
Ten temat zawiera następujące sekcje.
- typowa struktura drzewa
- odpowiednie właściwości
- wymagane wzorce kontrolek
- wymagane zdarzenia
- Tematy pokrewne
Typowa struktura drzewa
W poniższej tabeli przedstawiono typowy widok kontrolki i zawartości drzewa automatyzacji interfejsu użytkownika odnoszącego się do kontrolek paska menu i opisano, co można zawierać w każdym widoku. Aby uzyskać więcej informacji na temat drzewa automatyzacji interfejsu użytkownika, zobacz Omówienie drzewa automatyzacji interfejsu użytkownika.
Widok kontrolki | Widok zawartości |
---|---|
|
|
Kontrolka paska menu zawsze jest wyświetlana w widoku kontrolki, ale nie w widoku zawartości, ponieważ zwykle nie przekazuje znaczących informacji użytkownikowi końcowemu (chyba że aplikacja zawiera więcej niż jeden pasek menu).
Klienci automatyzacji interfejsu użytkownika mogą nasłuchiwać zdarzenia UIA_MenuModeStartEventId, aby upewnić się, że są one stale powiadamiane po wprowadzeniu trybu menu przez interfejs użytkownika. Gdy aplikacja jest w trybie menu, wszystkie dane wejściowe klawiatury mogą być przechwytywane na potrzeby nawigacji menu (na przykład wpisanie "s" może wywołać menu Zapisz zamiast wpisywać znak w obszarze klienta aplikacji). Zdarzenie UIA_MenuModeStartEventId musi poprzedzać pierwsze zdarzenie UIA_MenuOpenedEventId, aby zapewnić spójność logiczną. Zdarzenie UIA_MenuModeEndEventId następuje po ostatnim zdarzeniu UIA_MenuClosedEventId. Kliknięcie elementu menu może również natychmiast wyzwolić zdarzenie UIA_MenuModeStartEventId, a następnie zdarzenie UIA_MenuOpenedEventId.
Kontrolka paska menu może zawierać inne kontrolki, takie jak kontrolki edycji i pola kombi, w jej strukturze. Te dodatkowe kontrolki odpowiadają "innym kontrolkom" wymienionym powyżej w widokach kontrolki i zawartości.
Odpowiednie właściwości
W poniższej tabeli wymieniono właściwości automatyzacji interfejsu użytkownika, których wartość lub definicja jest szczególnie istotna dla typu kontrolki MenuBar. Aby uzyskać więcej informacji na temat właściwości automatyzacji interfejsu użytkownika, zobacz Pobieranie właściwości z elementów automatyzacji interfejsu użytkownika.
Właściwość automatyzacji interfejsu użytkownika | Wartość | Notatki |
---|---|---|
UIA_AcceleratorKeyPropertyId | ZERO | Paski menu zwykle nie mają akceleratora. |
UIA_AccessKeyPropertyId | "ALT" | Naciśnięcie ALT zwykle powoduje przełączenie fokusu na pasek menu w aplikacji. |
UIA_BoundingRectanglePropertyId | Zobacz uwagi. | Wartość uwidoczniona przez tę właściwość musi zawierać wszystkie zawarte w niej kontrolki. |
UIA_ControlTypePropertyId | paska menu | |
UIA_IsContentElementPropertyId | FAŁSZYWY | Kontrolka paska menu nie jest uwzględniona w widoku zawartości drzewa automatyzacji interfejsu użytkownika. |
UIA_IsControlElementPropertyId | PRAWDZIWY | Kontrolka paska menu jest zawsze uwzględniana w widoku kontrolki drzewa automatyzacji interfejsu użytkownika. |
UIA_IsKeyboardFocusablePropertyId | PRAWDZIWY | Kontrolki paska menu można skupić na klawiaturze, ponieważ kontrolki, które zawierają, mogą skupić się na klawiaturze. |
UIA_IsOffscreenPropertyId | Zobacz uwagi. | Wartość tej właściwości zależy od tego, czy kontrolka jest widoczna na ekranie. |
UIA_LabeledByPropertyId | ZERO | Kontrolki paska menu zwykle nie mają etykiety. |
UIA_LocalizedControlTypePropertyId | Zobacz uwagi. | Zlokalizowany ciąg odpowiadający typowi kontrolki MenuBar. Wartość domyślna to "pasek menu" dla en-US lub angielski (Stany Zjednoczone). |
UIA_NamePropertyId | Zobacz uwagi. | Kontrolka paska menu nie wymaga nazwy, chyba że aplikacja ma więcej niż jeden pasek menu. Jeśli w aplikacji znajduje się więcej niż jeden pasek menu, użyj tej właściwości, aby uwidocznić nazwy wyróżniające, takie jak "Formatowanie" lub "Konspektowanie". |
UIA_OrientationPropertyId | Zależy | Ta właściwość uwidacznia, czy kontrolka paska menu jest pozioma, czy pionowa. |
Wymagane wzorce kontrolek
W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi przez kontrolki paska menu. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie.
Wzorzec kontrolki | Wsparcie | Notatki |
---|---|---|
IExpandCollapseProvider | Zależy | Jeśli kontrolkę można rozwinąć lub zwinąć, musi zaimplementować wzorzec kontrolki ExpandCollapse. |
IDockProvider | Zależy | Jeśli kontrolka może być zadokowana do różnych części ekranu, musi zaimplementować wzorzec sterowania Dock. |
ITransformProvider | Zależy | Jeśli kontrolkę można zmienić, obrócić lub przenieść, musi zaimplementować wzorzec kontrolki Przekształć. |
Zdarzenia wymagane
W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika wymagane do obsługi kontrolek paska menu. Aby uzyskać więcej informacji na temat zdarzeń, zobacz Omówienie zdarzeń automatyzacji interfejsu użytkownika.
Zdarzenie automatyzacji interfejsu użytkownika | Notatki |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId zdarzenie zmienione właściwości. | |
UIA_ExpandCollapseExpandCollapseStatePropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje wzorzec kontrolki ExpandCollapse, musi obsługiwać to zdarzenie. |
UIA_IsEnabledPropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje właściwość IsEnabled, musi obsługiwać to zdarzenie. |
UIA_IsOffscreenPropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje właściwość IsOffscreen, musi obsługiwać to zdarzenie. |
UIA_StructureChangedEventId |
Tematy pokrewne