ComboBox コントロールの種類

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

コンボ ボックスは、スタティック コントロールまたは編集コントロールが組み合わせられたリスト ボックスです。コンボ ボックスのリスト ボックスの部分には、現在選択されている項目が表示されます。 コントロールのリスト ボックスの部分は常に表示されるか、ユーザーがコントロールの横にあるドロップダウン矢印 (プッシュ ボタン) を選択したときにのみ表示されます。 選択フィールドが編集コントロールである場合、ユーザーは、リスト ボックスに含まれていない情報を入力できます。そうでない場合、ユーザーはリスト ボックスに含まれる項目を選択することしかできません。

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

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

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • コンボ ボックス
    • Edit (0 または 1)
    • リスト (0 または 1)
    • リスト項目 (リストの子。0 個以上)
    • ボタン (1 個)
  • ComboBox
    • リスト項目 (0 個以上)

 

コンボ ボックスのコントロール ビューの編集コントロールは、[ 実行 ] ダイアログ ボックスのコンボ ボックスの場合と同様に、コンボ ボックスを編集して任意の入力を取得できる場合にのみ必要です。

関連するプロパティ

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

UI Automation のプロパティ メモ
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。
UIA_ControlTypePropertyId ComboBox
UIA_HelpTextPropertyId 「ノート」を参照してください。 コンボ ボックス コントロールのヘルプ テキストでは、ユーザーがコンボ ボックスからオプションを選択するように求められる理由を説明する必要があります。 テキストは、ツールヒントに表示する情報に似ています。 たとえば、「項目を選択してモニターのディスプレイ解像度を設定してください」などです。
UIA_IsContentElementPropertyId true コンボ ボックス コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
UIA_IsControlElementPropertyId true コンボ ボックス コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
UIA_IsKeyboardFocusablePropertyId true コンボ ボックス コントロールはキーボード フォーカスを受け取ることができます。ただし、UI オートメーション クライアントがフォーカスをコンボ ボックスに設定すると、コンボ ボックス サブツリー内のすべての項目がフォーカスを受け取ることができます。
UIA_LabeledByPropertyId 「ノート」を参照してください。 コンボ ボックス コントロールには、通常、このプロパティが参照する静的なテキスト ラベルがあります。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 ComboBox コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "コンボ ボックス" です。
UIA_NamePropertyId 「ノート」を参照してください。 コンボ ボックス コントロールの名前は、通常、静的テキスト ラベルから生成されます。 静的なテキスト ラベルがない場合は、 Name プロパティの値を割り当てる必要があります。 Name プロパティには、コンボ ボックスの現在の内容を含めたり、コンボ ボックスの内容が変更されたりすることはありません。

 

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

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

コントロール パターン サポート Notes
IExpandCollapseProvider 必須 コンボ ボックス コントロールには常にドロップダウン ボタンが含まれている必要があるため、 ExpandCollapse コントロール パターンをサポートする必要があります。
ISelectionProvider 依存 コンボ ボックスで現在選択されている項目を表示します。 選択コントロール パターンのサポートは、コンボ ボックスの下のリスト ボックスに委任されますが、常に実現可能であるとは限りません。
IValueProvider 依存 コンボ ボックスが任意のテキスト値を受け取ることができる場合は、 Value コントロール パターンをサポートする必要があります。 このパターンにより、コンボ ボックスの文字列内容をプログラムで設定できます。 Value コントロール パターンがサポートされていない場合、ユーザーはコンボ ボックスのサブツリー内のリスト 項目から選択する必要があります。
IScrollProvider 行わない スクロール コントロール パターンは、コンボ ボックスで直接サポートされることはありません。 コンボ ボックスに含まれるリスト ボックスがスクロールできる場合、およびリスト ボックスが画面に表示されている場合にのみサポートされます。

 

必須イベント

次の表に、コンボ ボックス コントロールがサポートするために必要なUI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント メモ
UIA_AutomationFocusChangedEventId
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
UIA_StructureChangedEventId
プロパティ変更イベントUIA_ExpandCollapseExpandCollapseStatePropertyId します。
プロパティUIA_ValueValuePropertyId 変更されたイベントです。 コントロールが Value コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。

 

概念

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

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