TreeItem-kontrolltyp
Det här avsnittet innehåller information om Microsoft UI Automation-stöd för TreeItem kontrolltyp.
Kontrolltypen TreeItem representerar en nod i en trädcontainer. Varje nod kan innehålla andra noder, så kallade underordnade noder. Överordnade noder, eller noder som innehåller underordnade noder, kan visas som expanderade eller komprimerade.
Följande avsnitt definierar den nödvändiga UI Automation-trädstrukturen, egenskaper, kontrollmönster och händelser för TreeItem kontrolltyp. Kraven för användargränssnittsautomatisering gäller för alla trädobjektkontroller där UI-ramverket/plattformen integrerar UI Automation-stöd för kontrolltyper och kontrollmönster.
Det här avsnittet innehåller följande avsnitt.
- typisk trädstruktur
- relevanta egenskaper
- nödvändiga kontrollmönster
- nödvändiga händelser
- kommentarer
- Relaterade ämnen
Typisk trädstruktur
Följande tabell visar en typisk kontroll- och innehållsvy över UI Automation-trädet som gäller för trädobjektkontroller och beskriver vad som kan finnas i varje vy. Mer information om UI Automation-trädet finns i UI Automation Tree Overview.
Kontrollvy | Innehållsvy |
---|---|
|
|
Trädobjektkontroller kan ha noll eller fler underordnade trädobjekt i innehållsvyn för UI Automation-trädet. Om trädobjektkontrollen har funktioner utöver vad som visas i kontrollmönstren nedan bör kontrollen baseras på DataItem kontrolltyp.
Komprimerade trädobjekt visas inte i kontrollvyn eller innehållsvyn förrän de blir expanderade och synliga (eller kan rullas i vyn).
Kontrollvyn kan innehålla ytterligare information för en kontroll, inklusive en associerad bild eller en knapp. Ett objekt i en dispositionsvy kan till exempel innehålla en bild samt en knapp för att expandera eller dölja dispositionen. Dessa detaljobjekt visas inte i innehållsvyn eftersom informationen redan representeras av det överordnade trädobjektet.
Trädobjekt som rullas bort från skärmen visas i både kontroll- och innehållsvyerna i UI Automation-trädet och bör ha egenskapen IUIAutomationElement::CurrentIsOffscreen (eller CachedIsOffscreen) inställd på TRUE.
Relevanta egenskaper
I följande tabell visas UI Automation-egenskaper vars värde eller definition är särskilt relevant för TreeItem kontrolltyp. Mer information om egenskaper för UI Automation finns i Hämta egenskaper från UI Automation-element.
UI Automation-egenskap | Värde | Anteckningar |
---|---|---|
UIA_AutomationIdPropertyId | Se anteckningar. | Värdet för den här egenskapen måste vara unikt bland alla peer-element i den råa vyn för UI Automation-trädet. |
UIA_BoundingRectanglePropertyId | Se anteckningar. | Den yttersta rektangeln som innehåller hela kontrollen. |
UIA_ClickablePointPropertyId | Se anteckningar. | Den här egenskapen måste returnera en plats som gör att trädobjektet ändrar markeringstillståndet eller blir fokuserat. |
UIA_ControlTypePropertyId | TreeItem | Det här värdet är detsamma för alla gränssnittsramverk. |
UIA_IsContentElementPropertyId | TRUE | Trädobjektkontrollen ingår alltid i innehållsvyn i UI Automation-trädet. |
UIA_IsControlElementPropertyId | TRUE | Trädobjektkontrollen ingår alltid i kontrollvyn för UI Automation-trädet. |
UIA_IsKeyboardFocusablePropertyId | Se anteckningar. | Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen. |
UIA_IsOffscreenPropertyId | Se anteckningar. | Den här egenskapen anger om en trädobjektskontroll rullas bort från skärmen. |
UIA_ItemStatusPropertyId | Se anteckningar. | Om kontrollen innehåller status som uppdateras dynamiskt måste den här egenskapen stödjas så att en hjälpmedelsteknik kan ta emot uppdateringar när statusen för elementet ändras. |
UIA_ItemTypePropertyId | Se anteckningar. | Om trädobjektkontrollen använder en visuell ikon för att indikera att det är en viss typ av objekt måste den här egenskapen stödjas och ange objekttypen. |
UIA_LabeledByPropertyId | NULL- | Trädobjektkontroller är självetiketter. |
UIA_LocalizedControlTypePropertyId | Se anteckningar. | Lokaliserad sträng som motsvarar kontrolltypen TreeItem. Standardvärdet är "trädobjekt" för en-US eller engelska (USA). |
UIA_NamePropertyId | Se anteckningar. | Den här egenskapen visar texten som visas för varje trädobjektkontroll. |
Nödvändiga kontrollmönster
I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av alla trädobjektskontroller. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.
Kontrollmönster/mönsteregenskap | Support/värde | Anteckningar |
---|---|---|
IExpandCollapseProvider | Krävs | Alla trädobjekt måste ha stöd för ExpandCollapse kontrollmönster eftersom alla objekt kan expanderas eller komprimeras. |
ExpandCollapseState | Expanderad, komprimerad eller lövnod | Trädobjekt är lövnoder när de inte expanderas eller komprimeras. |
IInvokeProvider | Beror | Implementera Anropa kontrollmönster om trädobjektet kan utföra ett kommando. |
IScrollItemProvider | Beror | Implementera kontrollmönstret ScrollItem om trädcontainern stöder kontrollmönstret Scroll. |
ISelectionItemProvider | Beror | Implementera SelectionItem kontrollmönster om det är möjligt att ha en aktiv markering som bibehålls när användaren återgår till trädcontainern. |
SelectionContainer | Krävs | Den här egenskapen exponerar samma container för alla objekt i containern. |
Nödvändiga händelser
I följande tabell visas de UI Automation-händelser som trädobjektkontroller krävs för att stödja. Mer information om händelser finns i UI Automation Events Overview.
UI Automation-händelse | Anteckningar |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId händelse som ändrats av egenskapen. | |
UIA_ExpandCollapseExpandCollapseStatePropertyId händelse som ändrats av egenskapen. | |
UIA_Invoke_InvokedEventId | Om kontrollen stöder Anropa kontrollmönster måste den stödja den här händelsen. |
UIA_IsEnabledPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen IsEnabled måste den stödja den här händelsen. |
UIA_IsOffscreenPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen IsOffscreen måste den ha stöd för den här händelsen. |
UIA_ItemStatusPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen ItemStatus måste den stödja den här händelsen. |
UIA_MultipleViewCurrentViewPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder MultipleView- kontrollmönster måste den ha stöd för den här händelsen. |
UIA_NamePropertyId händelse som ändrats av egenskapen. | |
UIA_SelectionItem_ElementAddedToSelectionEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_SelectionItem_ElementSelectedEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_StructureChangedEventId | |
UIA_ToggleToggleStatePropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder Växla kontrollmönster måste den stödja den här händelsen. |
UIA_ValueValuePropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder kontrollmönstret Value måste den ha stöd för den här händelsen. |
Anmärkningar
Om ett trädobjekt har andra underelement än underordnade dispositionsnoder måste providern hantera den underordnade objektinformationen noggrant och tydligt. I UI Automation hanteras trädstrukturen av själva trädhierarkin. Genom att ha en eller flera underordnade noder som inte är dispositionsnoder blir skillnaderna mellan dem och faktiska underordnade dispositionsnoder allvarligt tvetydiga.
Relaterade ämnen
-
konceptuell
-
översikt över UI Automation-kontrolltyper
-
översikt över UI Automation