TreeItem コントロールの種類

このトピックでは、TreeItem コントロール型の Microsoft UI オートメーション サポートに関する情報を提供します。

TreeItem コントロールの種類は、ツリー コンテナー内のノードを表します。 各ノードには、"子ノード" と呼ばれるその他のノードが含まれている可能性があります。 親ノード (子ノードを含むノード) は、展開した状態または折りたたんだ状態で表示できます。

次のセクションでは、TreeItem コントロール型に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのツリー項目コントロールに適用されます。

このトピックは、次のセクションで構成されています。

一般的なツリー構造

次の表は、ツリー項目コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
  • TreeItem
    • CheckBox (0 または 1)
    • イメージ (0 または 1)
    • Button (0 または 1)
    • TreeItem (0 以上)
  • TreeItem
    • TreeItem (0 以上)

 

ツリー項目コントロールは、UI オートメーション ツリーのコンテンツ ビューに 0 個以上のツリー項目の子を持つことができます。 ツリー項目コントロールに、以下に示すコントロール パターンで公開されている機能以外の機能がある場合、コントロールは DataItem コントロール型に基づいている必要があります。

折りたたまれたツリー項目は、展開されて表示されるまでコントロール ビューまたはコンテンツ ビューに表示されません (または、ビューにスクロールできます)。

コントロール ビューには、関連付けられているイメージやボタンなど、コントロールの追加の詳細を含めることができます。 たとえば、アウトライン表示の項目には、イメージの他にアウトラインを展開または折りたたむボタンが含まれる場合があります。 これらの詳細オブジェクトは、情報が親ツリー項目によって既に表されているため、コンテンツ ビューには表示されません。

画面をスクロールしたツリー項目は、UI オートメーション ツリーのコントロール ビューとコンテンツ ビューの両方に表示され、IUIAutomationElement::CurrentIsOffscreen (または CachedIsOffscreen) プロパティを TRUE に設定する必要があります。

関連するプロパティ

次の表に、値または定義が TreeItem コントロールの種類に特に関連するUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。

UI Automation のプロパティ Notes
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 このプロパティは、ツリー項目が選択状態を変更したり、フォーカスを置いたりする場所を返す必要があります。
UIA_ControlTypePropertyId TreeItem この値は、すべての UI フレームワークで同じです。
UIA_IsContentElementPropertyId TRUE ツリー項目コントロールは、常にUI オートメーション ツリーのコンテンツ ビューに含まれます。
UIA_IsControlElementPropertyId TRUE ツリー項目コントロールは、常にUI オートメーション ツリーのコントロール ビューに含まれます。
UIA_IsKeyboardFocusablePropertyId 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
UIA_IsOffscreenPropertyId 「ノート」を参照してください。 このプロパティは、ツリー項目コントロールを画面からスクロールするかどうかを示します。
UIA_ItemStatusPropertyId 「ノート」を参照してください。 動的に更新されている状態がコントロールに含まれている場合は、要素の状態が変更されたときに支援技術が更新を受け取ることができるように、このプロパティをサポートする必要があります。
UIA_ItemTypePropertyId 「ノート」を参照してください。 ツリー項目コントロールがビジュアル アイコンを使用して特定の種類の項目であることを示す場合、このプロパティはサポートされている必要があり、項目の種類を示す必要があります。
UIA_LabeledByPropertyId NULL ツリー項目コントロールは、自動的にラベル付けされます。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 TreeItem コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "ツリー項目" です。
UIA_NamePropertyId 「ノート」を参照してください。 このプロパティは、各ツリー項目コントロールに表示されるテキストを公開します。

 

必須のコントロール パターン

次の表に、すべてのツリー項目コントロールでサポートするために必要なUI オートメーションコントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。

コントロール パターン/パターン プロパティ サポート/値 Notes
IExpandCollapseProvider 必須 すべての項目を展開または折りたたむことができるため、すべてのツリー項目で ExpandCollapse コントロール パターンをサポートする必要があります。
ExpandCollapseState 展開されたノード、折りたたまれたノード、またはリーフ ノード ツリー項目は、展開または折りたたまれていない場合にリーフ ノードです。
IInvokeProvider 依存 ツリー項目がコマンドを実行できる場合は、 Invoke コントロール パターンを実装します。
IScrollItemProvider 依存 ツリー コンテナーで Scroll コントロール パターンがサポートされている場合は、 ScrollItem コントロール パターンを実装します。
ISelectionItemProvider 依存 ユーザーがツリー コンテナーに戻ったときに維持されるアクティブな選択を行うことができる場合は、 SelectionItem コントロール パターンを実装します。
SelectionContainer 必須 このプロパティは、コンテナー内のすべての項目に対して同じコンテナーを公開します。

 

必須イベント

次の表は、ツリー項目コントロールがサポートするために必要なUI オートメーションイベントの一覧です。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント Notes
UIA_AutomationFocusChangedEventId
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。
プロパティ変更イベントUIA_ExpandCollapseExpandCollapseStatePropertyId します。
UIA_Invoke_InvokedEventId コントロールが Invoke コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ItemStatusPropertyId します。 コントロールが ItemStatus プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_MultipleViewCurrentViewPropertyId します。 コントロールが MultipleView コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_NamePropertyId 変更されたイベントです。
UIA_SelectionItem_ElementAddedToSelectionEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_SelectionItem_ElementRemovedFromSelectionEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_SelectionItem_ElementSelectedEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_StructureChangedEventId
プロパティUIA_ToggleToggleStatePropertyId 変更されたイベントです。 コントロールが Toggle コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_ValueValuePropertyId 変更されたイベントです。 コントロールが Value コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。

 

解説

ツリー項目に子アウトライン ノード以外のサブ要素がある場合、プロバイダーは子オブジェクト情報を慎重かつ明確に処理する必要があります。 UI オートメーションでは、ツリー構造はツリー階層自体によって処理されます。 1 つ以上の非アウトライン ノードの子を持つことで、それらの子と実際の子アウトライン ノードの違いが深刻にあいまいになります。

概念

UI オートメーション コントロール型の概要

UI オートメーションの概要