樹狀結構控件類型
本主題提供 樹狀結構 控件類型的Microsoft使用者介面自動化支持相關信息。
樹狀結構 控件類型用於內容與節點階層具有相關性的容器,如同檔案和資料夾顯示在 Windows 檔案總管左窗格中的方式一樣。 每個節點都有可能包含其他節點,稱為子節點。 父節點,或包含子節點的節點,可以顯示為展開或折疊。 Windows 樹視圖控件(如 WC_TREEVIEW所識別)是屬於 樹狀結構 控件類型的控件範例。
下列各節會定義 樹狀目錄 控件類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有樹狀專案控件,其中 UI 架構/平臺會整合控件類型和控件模式的 UI 自動化支援。
本主題包含下列各節。
一般樹狀結構
下表描述與樹狀目錄控件相關的UI自動化樹狀結構的一般控件和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控件檢視 | 內容檢視 |
---|---|
|
|
UI 自動化樹狀結構的控件檢視包含:
UI 自動化樹狀結構的內容檢視是由容器內的零或多個專案所組成(專案可以根據 TreeItem 或 DataItem 控件類型)。
相關屬性
下表列出UI自動化屬性,其值或定義與 樹狀結構 控件類型特別相關。 如需 UI 自動化屬性的詳細資訊,請參閱 從 UI 自動化元素擷取屬性。
UI 自動化屬性 | 價值 | 筆記 |
---|---|---|
UIA_AutomationIdPropertyId | 請參閱附注。 | 在UI自動化樹狀結構的原始檢視中,此屬性的值在所有對等專案之間必須是唯一的。 |
UIA_BoundingRectanglePropertyId | 請參閱附注。 | 包含整個控件的最外框。 |
UIA_ClickablePointPropertyId | 請參閱附注。 | 樹狀結構控件具有可點選的點,導致樹狀結構容器中的其中一個專案接收焦點。 只有當樹狀結構控件可以按兩下樹狀結構中的位置,而不會選取專案或接收焦點時,才能有可點選的點。 |
UIA_ControlTypePropertyId | 樹狀結構 | 所有UI架構的這個值都相同。 |
UIA_IsContentElementPropertyId | 真 | 樹狀目錄控件一律包含在UI自動化樹狀結構的內容檢視中。 |
UIA_IsControlElementPropertyId | 真 | 樹狀目錄控件一律包含在UI自動化樹狀結構的控件檢視中。 |
UIA_IsKeyboardFocusablePropertyId | 請參閱附注。 | 如果控件可以接收鍵盤焦點,它必須支援這個屬性。 |
UIA_LabeledByPropertyId | 請參閱附注。 | 如果樹狀目錄控件有與其相關聯的標籤,此屬性會傳回該標籤的 IUIAutomationElement 指標。 否則,屬性會傳回 Null 參考。 |
UIA_LocalizedControlTypePropertyId | 請參閱附注。 | 對應至 樹狀結構 控件類型的當地語系化字串。 默認值為 en-US 或英文 (美國) 的 「樹狀結構」。 |
UIA_NamePropertyId | 請參閱附注。 | 樹狀目錄控制項名稱屬性的值通常來自標記控件的文字。 如果沒有文字標籤,您必須提供此屬性的值。 |
必要的控制件模式
下表列出所有樹狀控件都必須支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式/模式屬性 | 支援/值 | 筆記 |
---|---|---|
IScrollProvider | 取決於 | 如果樹狀容器中的專案可以捲動,請實作 卷動 控件模式。 |
ISelectionProvider | 取決於 | 包含一組可選取專案的樹狀結構控件必須實作 Selection 控件模式。 如果選取專案不會向使用者傳達有意義的資訊,則不需要實作它。 |
CanSelectMultiple | 請參閱附注。 | 如果樹狀目錄控件支援多重選取專案,請實作這個屬性(大部分的樹狀目錄控件都不支援多重選取專案)。 |
IsSelectionRequired | 請參閱附注。 | 如果控件需要選取專案,則會公開這個屬性的值。 |
必要事件
下表列出所有樹狀結構控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀。
UI 自動化事件 | 筆記 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 屬性變更事件。 | |
UIA_IsEnabledPropertyId 屬性變更事件。 | 如果控件支援 IsEnabled 屬性,則必須支援這個事件。 |
UIA_IsOffscreenPropertyId 屬性變更事件。 | 如果控件支援 IsOffscreen 屬性,它就必須支援這個事件。 |
UIA_ScrollHorizontallyScrollablePropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_ScrollHorizontalScrollPercentPropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_ScrollHorizontalViewSizePropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_ScrollVerticalScrollPercentPropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_ScrollVerticallyScrollablePropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_ScrollVerticalViewSizePropertyId 屬性變更事件。 | 如果控件支援 Scroll 控件模式,則必須支援此事件。 |
UIA_Selection_InvalidatedEventId | 如果控件支援 Selection 控件模式,它必須支援這個事件。 |
UIA_StructureChangedEventId |
相關主題