Udostępnij za pośrednictwem


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

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
  • MenuItem "Pomoc"
    • Menu (podmenu elementu menu Pomoc)
      • MenuItem "Tematy pomocy"
      • MenuItem "Informacje o Notatniku"
  • MenuItem "Pomoc"
    • MenuItem "Tematy pomocy"
    • MenuItem "Informacje o Notatniku"

 

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.

koncepcyjne

typy kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie automatyzacji interfejsu użytkownika