SplitButton コントロールの種類

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

分割ボタン コントロールを使用すると、コントロールに対してアクションを実行し、コントロールを展開して、実行できるその他のアクションの一覧を表示できます。

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

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

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • SplitButton
    • イメージ (0 または 1)
    • Text (0 または 1)
    • Button (1 または 2)
      • メニュー (0 または 1。ExpandCollapse パターンをサポートするサブボタンの子として表示されます)
        • MenuItem (1 個以上)
  • SplitButton
    • Button (1 または 2)
      • MenuItem (1 個以上)

 

関連するプロパティ

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

UI Automation のプロパティ メモ
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。
UIA_ControlTypePropertyId SplitButton この値は、すべての UI フレームワークで同じです。
UIA_HelpTextPropertyId 「ノート」を参照してください。 ヘルプ テキストで、分割ボタンをアクティブ化した場合の結果を示すことができます。これは一般に、ツールヒントに表示する情報と同じような情報です。
UIA_IsContentElementPropertyId true 分割ボタン コントロールには、エンド ユーザーに対する情報が含まれます。
UIA_IsControlElementPropertyId true 分割ボタン コントロールは、エンド ユーザーに表示されます。
UIA_IsKeyboardFocusablePropertyId 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
UIA_LabeledByPropertyId NULL 分割ボタン コントロールに静的なテキスト ラベルはありません。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 SplitButton コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "分割ボタン" です。
UIA_NamePropertyId 「ノート」を参照してください。 分割ボタンにラベルを付けるために使用されるテキスト。 分割ボタンのラベル付けに画像を使用する場合は常に、分割ボタンの Name プロパティに代替テキストを指定する必要があります。

 

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

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

コントロール パターン サポート Notes
IExpandCollapseProvider 必須 分割ボタンには常にオプションの一覧を展開する機能があるため、 ExpandCollapse コントロール パターンをサポートする必要があります。
IInvokeProvider 必須 分割ボタンには常に IInvokeProvider::Invoke メソッドに関連付けられた既定のアクションがあるため、 Invoke コントロール パターン をサポートする必要があります。

 

必須イベント

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

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

 

SplitButton コントロールの種類の例

次の図は、 SplitButton コントロール型を実装するコントロールを示しています。

分割ボタン コントロールの例を示すスクリーン ショット

UI オートメーション ツリー - コントロール ビュー UI オートメーション ツリー - コンテンツ ビュー
  • SplitButton "Name" (Invoke, ExpandCollapse)
    • ボタン "その他のオプション" (呼び出し)
      • メニュー
        • MenuItem
        • ...
  • SplitButton "Name" (Invoke, ExpandCollapse)
    • ボタン "その他のオプション" (呼び出し)
      • メニュー
        • MenuItem
        • ...

 

概念

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

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