共用方式為


樹狀結構控件類型

本主題提供 樹狀結構 控件類型的Microsoft使用者介面自動化支持相關信息。

樹狀結構 控件類型用於內容與節點階層具有相關性的容器,如同檔案和資料夾顯示在 Windows 檔案總管左窗格中的方式一樣。 每個節點都有可能包含其他節點,稱為子節點。 父節點,或包含子節點的節點,可以顯示為展開或折疊。 Windows 樹視圖控件(如 WC_TREEVIEW所識別)是屬於 樹狀結構 控件類型的控件範例。

下列各節會定義 樹狀目錄 控件類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有樹狀專案控件,其中 UI 架構/平臺會整合控件類型和控件模式的 UI 自動化支援。

本主題包含下列各節。

一般樹狀結構

下表描述與樹狀目錄控件相關的UI自動化樹狀結構的一般控件和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀

控件檢視 內容檢視
    • DataItem (0 或更多)
    • TreeItem (0 或更多)
      • TreeItem (0 或更多)
        • ...
    • ScrollBar (0, 1, 2)
    • DataItem (0 或更多)
    • TreeItem (0 或更多)
      • TreeItem (0 或更多)
        • ...

 

UI 自動化樹狀結構的控件檢視包含:

  • 容器內許多專案的零 (專案可以依據 TreeItemDataItem 控件類型)。
  • 零、一或兩個滾動條控件

UI 自動化樹狀結構的內容檢視是由容器內的零或多個專案所組成(專案可以根據 TreeItemDataItem 控件類型)。

相關屬性

下表列出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

 

概念

UI 自動化控制項類型概觀

UI 自動化概觀