ツリー コントロールの種類

このトピックでは、ツリー コントロールの種類に対する Microsoft UI オートメーション のサポートについて説明します。

ツリー コントロールの種類は、Windows エクスプローラーの左側のウィンドウにファイルとフォルダーを表示する方法と同様に、コンテンツがノードの階層として関連性を持つコンテナーに使用されます。 各ノードに、子ノードと呼ばれる他のノードが含まれている可能性があります。 親ノード (子ノードを含むノード) は、展開した状態または折りたたんだ状態で表示できます。 Windows ツリー ビュー コントロール ( WC_TREEVIEW で識別される) は、 Tree コントロールの種類に属するコントロールの例です。

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

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

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • ツリー
    • DataItem (0 以上)
    • TreeItem (0 以上)
      • TreeItem (0 以上)
        • ...
    • ScrollBar (0、1、2)
  • ツリー
    • DataItem (0 以上)
    • TreeItem (0 以上)
      • TreeItem (0 以上)
        • ...

 

UI オートメーション ツリーのコントロール ビューは、次のものから構成されます。

  • コンテナー内の多数の項目のうち 0 個 (項目は TreeItem コントロール型または DataItem コントロール型に基づく場合があります)。
  • 0、1、または 2 個のスクロール バー コントロール。

UI オートメーション ツリーのコンテンツ ビューは、コンテナー内の 0 個または多数の項目で構成されます (項目は TreeItem または DataItem コントロールの種類に基づく場合があります)。

関連するプロパティ

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

UI Automation のプロパティ メモ
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 ツリー コントロールには、ツリーまたはツリー コンテナー内の項目の 1 つがフォーカスを受け取るクリック可能なポイントがあります。 ツリー コントロールは、項目を選択したりフォーカスを受け取ったりせずにツリー内の場所をクリックできる場合にのみ、クリック可能なポイントを持つことができます。
UIA_ControlTypePropertyId ツリー この値は、すべての UI フレームワークで同じです。
UIA_IsContentElementPropertyId true ツリー コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
UIA_IsControlElementPropertyId true ツリー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
UIA_IsKeyboardFocusablePropertyId 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
UIA_LabeledByPropertyId 「ノート」を参照してください。 ツリー コントロールにラベルが関連付けられている場合、このプロパティはそのラベルの IUIAutomationElement ポインターを返します。 それ以外の場合、プロパティは null 参照を返します。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 Tree コントロールの種類に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "ツリー" です。
UIA_NamePropertyId 「ノート」を参照してください。 ツリー コントロールの名前プロパティの値は、通常、コントロールにラベルを付けるテキストから取得されます。 テキスト ラベルがない場合は、このプロパティの値を指定する必要があります。

 

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

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

コントロール パターン/パターン プロパティ サポート/値 メモ
IScrollProvider 依存 ツリー コンテナー内の項目を スクロール できる場合は、スクロール コントロール パターンを実装します。
ISelectionProvider 依存 選択可能な項目のセットを含むツリー コントロールは 、選択 コントロール パターンを実装する必要があります。 項目を選択しても意味のある情報がユーザーに伝達されない場合は、実装する必要はありません。
CanSelectMultiple 「ノート」を参照してください。 ツリー コントロールが複数選択をサポートする場合、このプロパティを実装します (ほとんどのツリー コントロールは、複数選択をサポートしません)。
IsSelectionRequired 「ノート」を参照してください。 このプロパティの値は、コントロールで項目が選択される必要がある場合に公開されます。

 

必須イベント

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

UI オートメーション イベント メモ
UIA_AutomationFocusChangedEventId
プロパティ変更イベントUIA_BoundingRectanglePropertyId
プロパティ変更イベントUIA_IsEnabledPropertyId コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_IsOffscreenPropertyId コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollHorizontallyScrollablePropertyIdします。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollHorizontalScrollPercentPropertyIdします。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollHorizontalViewSizePropertyIdします。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollVerticalScrollPercentPropertyIdします。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollVerticallyScrollablePropertyIdします。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ScrollVerticalViewSizePropertyId します。 コントロールが スクロール コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_Selection_InvalidatedEventId コントロールが Selection コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_StructureChangedEventId

 

概念

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

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