UI オートメーションによる MenuBar コントロール型のサポート

メモメモ

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージ UI Automation クラスを使用する .NET Framework 開発者を対象としています。UI Automationに関する最新情報については、「Windows Automation API: UI Automation (Windows オートメーション API: UI オートメーション)」を参照してください。

ここでは、UI Automationによる MenuBar コントロール型のサポートに関する情報を示します。 UI Automationでは、コントロール型は、ControlTypeProperty プロパティを使用するためにコントロールで満たす必要がある一連の条件となります。 これらの条件には、UI Automation ツリー構造、UI Automationのプロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

MenuBar コントロール型を実装するコントロールとして、メニュー バー コントロールなどがあります。 メニュー バーが提供する手段によって、ユーザーは、アプリケーションに含まれているコマンドとオプションをアクティブ化することができます。

以下のセクションでは、MenuBar コントロール型の必須の UI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを示します。 UI Automationの各要件は、Windows Presentation Foundation (WPF)、Win32、Windows Forms のいずれの場合でも、すべてのリスト コントロールに当てはまります。

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

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 必須の UI オートメーション イベント
  • 関連トピック

必須の UI オートメーション ツリー構造

次の表では、メニュー バー コントロールに関連した UI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに格納できるものについて説明します。 UI Automation ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー

コンテンツ ビュー

MenuBar

  • MenuItem (1 以上)

  • その他のコントロール (0 または多数)

MenuBar

  • MenuItem (1 以上)

  • その他のコントロール (0 または多数)

メニュー バー コントロールは、エディット コントロールや構造内のコンボ ボックスなど他のコントロールを含むことができます。 この追加のコントロールは、上のコントロール ビューおよびコンテンツ ビュー内に示した "その他のコントロール" に該当します。

必須の UI オートメーション プロパティ

次の表に、値または定義が特にメニュー バー コントロールに関連する UI Automation プロパティを示します。 UI Automation プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI Automation プロパティ

説明

BoundingRectangleProperty

説明を参照。

このプロパティによって公開される値は、このプロパティに格納されているすべてのコントロールを含む必要があります。

NameProperty

説明を参照。

1 つのアプリケーションに複数のメニュー バーを持たせない限り、メニュー バーに名前を付ける必要はありません。 複数のメニュー バーを 1 つのアプリケーションに持たせる場合、このプロパティを使用して、"書式設定" や "アウトライン" など識別するための名前を公開する必要があります。

LabeledByProperty

Null

メニュー バー コントロールにはラベルはありません。

ControlTypeProperty

MenuBar

この値は、すべての UI フレームワークで共通です。

LocalizedControlTypeProperty

"メニュー バー"

MenuBar コントロール型に対応するローカライズされた文字列。

IsContentElementProperty

True

メニュー バー コントロールは、常に UI Automation ツリーのコンテンツ ビューに含まれます。

IsControlElementProperty

True

メニュー バー コントロールは、常に UI Automation ツリーのコントロール ビューに含まれます。

IsOffscreenProperty

説明を参照。

このプロパティの値は、画面上にコントロールを表示できるかどうかによって決まります。

OrientationProperty

依存

このプロパティは、メニュー バー コントロールが水平方向であるか、垂直方向であるかを公開します。

IsKeyboardFocusableProperty

True

キーボード フォーカスを取得できるコントロールを含んでいるため、メニュー バー コントロールはキーボード フォーカスを受け取ることができます。

HelpTextProperty

説明を参照。

メニュー バー コントロールにヘルプ テキストを必要とする場合のシナリオはありません。

AcceleratorKeyProperty

Null

メニュー バーにはアクセラレータ キーはありません。

AccessKeyProperty

"ALT"

アプリケーション内で、Alt キーを押すと常にメニュー バーにフォーカスが移動します。

必須の UI オートメーション コントロール パターン

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

コントロール パターン

サポート

説明

IExpandCollapseProvider

依存

コントロールを展開または折りたたむことができる場合は、IExpandCollapseProvider を実装します。

IDockProvider

依存

コントロールを画面の別の部分にドッキングできる場合は、IDockProvider を実装します。

ITransformProvider

依存

コントロールのサイズ変更、回転、または移動を行うことができる場合は、ITransformProvider を実装する必要があります。

必須の UI オートメーション イベント

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

UI Automation イベント

サポート/値

説明

BoundingRectangleProperty プロパティ変更イベント

必須

なし

IsOffscreenProperty プロパティ変更イベント

必須

なし

IsEnabledProperty プロパティ変更イベント

必須

なし

ExpandCollapseStateProperty プロパティ変更イベント

依存

なし

AutomationFocusChangedEvent

必須

なし

StructureChangedEvent

必須

なし

参照

参照

MenuBar

概念

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

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