Udostępnij za pośrednictwem


TreeItem, typ kontrolki

Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla TreeItem typu kontrolki.

Typ kontrolki TreeItem reprezentuje węzeł w kontenerze drzewa. Każdy węzeł może zawierać inne węzły nazywane węzłami podrzędnym. Węzły nadrzędne lub węzły zawierające węzły podrzędne mogą być wyświetlane jako rozwinięte lub zwinięte.

W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla TreeItem typu kontrolki. Wymagania automatyzacji interfejsu użytkownika dotyczą wszystkich kontrolek elementów drzewa, 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ący się do kontrolek elementów drzewa 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
  • TreeItem
    • Pole wyboru (0 lub 1)
    • Obraz (0 lub 1)
    • Przycisk (0 lub 1)
    • TreeItem (co najmniej 0)
  • TreeItem
    • TreeItem (co najmniej 0)

 

Kontrolki elementu drzewa mogą mieć zero lub więcej elementów podrzędnych elementu drzewa w widoku zawartości drzewa automatyzacji interfejsu użytkownika. Jeśli kontrolka elementu drzewa ma funkcje wykraczające poza funkcje widoczne w wzorcach kontrolek wymienionych poniżej, kontrolka powinna być oparta na typie kontrolki DataItem.

Zwinięte elementy drzewa nie są wyświetlane w widoku kontrolki lub widoku zawartości, dopóki nie staną się rozwinięte i widoczne (lub mogą być przewinięte do widoku).

Widok kontrolki może zawierać dodatkowe szczegóły kontrolki, w tym skojarzony obraz lub przycisk. Na przykład element w widoku konspektu może zawierać obraz, a także przycisk umożliwiający rozwinięcie lub zwinięcie konspektu. Te obiekty szczegółów nie są wyświetlane w widoku zawartości, ponieważ informacje są już reprezentowane przez element drzewa nadrzędnego.

Elementy drzewa, które są przewijane z ekranu, są wyświetlane zarówno w widokach kontrolki, jak i zawartości drzewa automatyzacji interfejsu użytkownika i powinny mieć właściwość IUIAutomationElement::CurrentIsOffscreen (lub CachedIsOffscreen) właściwość ustawiona na TRUE.

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 TreeItem 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.
UIA_BoundingRectanglePropertyId Zobacz uwagi. Najbardziej oddalony prostokąt, który zawiera całą kontrolkę.
UIA_ClickablePointPropertyId Zobacz uwagi. Ta właściwość musi zwrócić lokalizację, która powoduje, że element drzewa zmienia stan zaznaczenia lub staje się skoncentrowany.
UIA_ControlTypePropertyId TreeItem Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika.
UIA_IsContentElementPropertyId true Kontrolka elementu drzewa jest zawsze uwzględniana w widoku zawartości drzewa automatyzacji interfejsu użytkownika.
UIA_IsControlElementPropertyId true Kontrolka elementu drzewa 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_IsOffscreenPropertyId Zobacz uwagi. Ta właściwość wskazuje, czy kontrolka elementu drzewa jest przewijana z ekranu.
UIA_ItemStatusPropertyId Zobacz uwagi. Jeśli kontrolka zawiera stan aktualizowany dynamicznie, ta właściwość musi być obsługiwana, aby technologia pomocna mogła odbierać aktualizacje po zmianie stanu elementu.
UIA_ItemTypePropertyId Zobacz uwagi. Jeśli kontrolka elementu drzewa używa ikony wizualizacji, aby wskazać, że jest określonym typem elementu, ta właściwość musi być obsługiwana i musi wskazywać typ elementu.
UIA_LabeledByPropertyId null Kontrolki elementów drzewa są etykietami własnymi.
UIA_LocalizedControlTypePropertyId Zobacz uwagi. Zlokalizowany ciąg odpowiadający typowi kontrolki TreeItem. Wartość domyślna to "element drzewa" dla en-US lub angielski (Stany Zjednoczone).
UIA_NamePropertyId Zobacz uwagi. Ta właściwość uwidacznia tekst wyświetlany dla każdej kontrolki elementu drzewa.

 

Wymagane wzorce kontrolek

W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi wszystkich kontrolek elementów drzewa. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie.

Wzorzec/wzorzec kontrolki, właściwość Pomoc techniczna/wartość Notatki
IExpandCollapseProvider Wymagane Wszystkie elementy drzewa muszą obsługiwać wzorzec kontrolki ExpandCollapse, ponieważ wszystkie elementy można rozwinąć lub zwinąć.
ExpandCollapseState Węzeł rozwinięty, zwinięty lub liściowy Elementy drzewa to węzły liści, gdy nie są rozwinięte lub zwinięte.
IInvokeProvider Zależy Zaimplementuj wzorzec sterowania Invoke, jeśli element drzewa może wykonać polecenie.
IScrollItemProvider Zależy Zaimplementuj wzorzec kontrolki ScrollItem, jeśli kontener drzewa obsługuje wzorzec kontrolki przewijania.
ISelectionItemProvider Zależy Zaimplementuj wzorzec kontrolki SelectionItem, jeśli istnieje możliwość aktywnego zaznaczenia obsługiwanego, gdy użytkownik powróci do kontenera drzewa.
SelectionContainer Wymagane Ta właściwość uwidacznia ten sam kontener dla wszystkich elementów w kontenerze.

 

Zdarzenia wymagane

W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika wymagane do obsługi kontrolek elementów drzewa. 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.
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_ItemStatusPropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje właściwość ItemStatus, musi obsługiwać to zdarzenie.
UIA_MultipleViewCurrentViewPropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec sterowania MultipleView, musi obsługiwać to zdarzenie.
UIA_NamePropertyId zdarzenie zmienione właściwości.
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.
UIA_ValueValuePropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki Value, musi obsługiwać to zdarzenie.

 

Uwagi

Jeśli element drzewa ma podelementy inne niż węzły konspektu podrzędnego, dostawca musi dokładnie i wyraźnie obsługiwać informacje o obiekcie podrzędnym. W automatyzacji interfejsu użytkownika struktura drzewa jest obsługiwana przez samą hierarchię drzewa. Mając co najmniej jeden element podrzędny węzła bez konspektu, różnice między nimi a rzeczywistymi węzłami konspektu podrzędnego stają się poważnie niejednoznaczne.

koncepcyjne

typy kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie automatyzacji interfejsu użytkownika