MenuItem, typ kontrolki
Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla MenuItem typu kontrolki.
Kontrolka menu umożliwia hierarchialną organizację elementów skojarzonych z poleceniami i procedurami obsługi zdarzeń. W typowej aplikacji systemu Windows pasek menu zawiera kilka elementów menu (takich jak File, Editi Window), a każdy element menu wyświetla menu. Menu zawiera kolekcję elementów menu (takich jak Nowy, Otwórzi Zamknij), które można rozwinąć, aby wyświetlić dodatkowe elementy menu lub wykonać określoną akcję po kliknięciu.
W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla MenuItem typu kontrolki. Wymagania automatyzacji interfejsu użytkownika dotyczą wszystkich kontrolek elementów 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
- starsze problemy
- 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 elementów 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 |
---|---|
|
|
Widok kontrolki elementu menu ma strukturę drzewa automatyzacji interfejsu użytkownika pokazaną powyżej. Należy pamiętać, że dodano element menu Pomoc na pasku menu, aby lepiej zilustrować strukturę.
W widoku zawartości menu jest nieobecny w drzewie automatyzacji interfejsu użytkownika, ponieważ nie przekazuje znaczących informacji użytkownikowi końcowemu.
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 MenuItem typu kontrolki. 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_AutomationIdPropertyId | Zobacz uwagi. | Wartość tej właściwości musi być unikatowa wśród wszystkich elementów równorzędnych w nieprzetworzonym widoku drzewa automatyzacji interfejsu użytkownika. Przydziel właściwość AutomationId dla elementu menu, jeśli element jest znany jako spójny w różnych wystąpieniach interfejsu użytkownika. Jeśli element menu jest dynamicznie wypełniany i nie jest przewidywalny, pozostaw właściwość AutomationId pustą. |
UIA_BoundingRectanglePropertyId | Zobacz uwagi. | Najbardziej oddalony prostokąt, który zawiera całą kontrolkę. |
UIA_ClickablePointPropertyId | Zobacz uwagi. | Obsługiwane, jeśli istnieje prostokąt ograniczenia. Jeśli nie każdy punkt w obrębie prostokąta ograniczenia jest klikalny, a element wykonuje wyspecjalizowane testowanie trafień, przesłonięć i zapewnić punkt możliwy do kliknięcia. |
UIA_ControlTypePropertyId | MenuItem | |
UIA_IsContentElementPropertyId | PRAWDZIWY | Kontrolka elementu menu jest zawsze uwzględniana w widoku zawartości drzewa automatyzacji interfejsu użytkownika. |
UIA_IsControlElementPropertyId | PRAWDZIWY | Kontrolka elementu menu jest zawsze uwzględniana w widoku kontrolki drzewa automatyzacji interfejsu użytkownika. |
UIA_IsKeyboardFocusablePropertyId | Zobacz uwagi. | Jeśli kontrolka może odbierać fokus klawiatury, musi obsługiwać tę właściwość. |
UIA_LocalizedControlTypePropertyId | Zobacz uwagi. | Zlokalizowany ciąg odpowiadający typowi kontrolki MenuItem. Wartość domyślna to "element menu" dla en-US lub angielski (Stany Zjednoczone). |
UIA_NamePropertyId | Zobacz uwagi. | Nazwa kontrolki elementu menu to tekst używany do etykietowania. |
Wymagane wzorce kontrolek
W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi przez kontrolki elementów 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ąć, zaimplementuj IExpandCollapseProvider. |
IInvokeProvider | Zależy | Jeśli kontrolka wykonuje jedną akcję lub polecenie, zaimplementuj IInvokeProvider. |
ISelectionItemProvider | Zależy | Jeśli kontrolka jest używana do wybierania z listy opcji między elementami menu, zaimplementuj ISelectionItemProvider. |
IToggleProvider | Zależy | Jeśli kontrolka reprezentuje opcję, którą można włączyć lub wyłączyć, zaimplementuj IToggleProvider. |
Zdarzenia wymagane
W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika, które są wymagane do obsługi kontrolek elementów 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_Invoke_InvokedEventId | Jeśli kontrolka obsługuje wzorzec kontrolki Invoke, 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_SelectionItem_ElementAddedToSelectionEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_SelectionItem_ElementSelectedEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_StructureChangedEventId | |
UIA_ToggleToggleStatePropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje wzorzec sterowania przełącznika, musi obsługiwać to zdarzenie. |
Starsze problemy
W przypadku elementów menu Platformy Microsoft Win32 wzorzec przełącznika przełącznika jest obsługiwany tylko wtedy, gdy element menu jest sprawdzany i można programowo określić, czy jest wymagana obsługa wzorca kontrolki przełączania. Ponieważ element menu Win32 nie ujawnia, czy można go zaznaczyć, wzorzec kontrolki Wywołaj jest obsługiwany, gdy element menu nie jest zaznaczony. Wzorzec kontrolki Wywołaj jest zawsze obsługiwany, nawet w przypadku elementów menu, które są wymagane tylko do obsługi wzorca kontrolki Przełączanie. Dzięki temu klienci nie stają się zdezorientowani, gdy element menu obsługujący wzorzec sterowania Invoke (gdy element menu został niezaznakowany) nie obsługuje już tego wzorca po sprawdzeniu.
Tematy pokrewne