ツリー コントロールの種類
このトピックでは、ツリー コントロールの種類に対する Microsoft UI オートメーション のサポートについて説明します。
ツリー コントロールの種類は、Windows エクスプローラーの左側のウィンドウにファイルとフォルダーを表示する方法と同様に、コンテンツがノードの階層として関連性を持つコンテナーに使用されます。 各ノードに、子ノードと呼ばれる他のノードが含まれている可能性があります。 親ノード (子ノードを含むノード) は、展開した状態または折りたたんだ状態で表示できます。 Windows ツリー ビュー コントロール ( WC_TREEVIEW で識別される) は、 Tree コントロールの種類に属するコントロールの例です。
次のセクションでは、ツリー コントロールの種類に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのツリー項目コントロールに適用されます。
このトピックは、次のセクションで構成されています。
一般的なツリー構造
次の表は、ツリー コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
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 |
関連トピック