次の方法で共有


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

このトピックでは、ツリー コントロールの種類に対する 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 コントロール型 基づく場合があります)。

関連するプロパティ

次の表に、ツリー コントロール型に特に関連する値または定義を持つ 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 ノートを参照してください。 Tree コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の場合は "tree" です。
UIA_NamePropertyId ノートを参照してください。 ツリー コントロールの name プロパティの値は、通常、コントロールにラベルを付けます。 テキスト ラベルがない場合は、このプロパティの値を指定する必要があります。

 

必要なコントロール パターン

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

Control Pattern/Pattern プロパティ サポート/値 筆記
IScrollProvider 依存 ツリー コンテナー内の項目をスクロールできる場合は、Scroll コントロール パターンを実装します。
ISelectionProvider 依存 選択可能な項目のセットを含むツリー コントロールは、選択 コントロール パターンを実装する必要があります。 項目を選択しても意味のある情報がユーザーに伝達されない場合は、実装する必要はありません。
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 オートメーションの概要