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

Note

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

このトピックでは、MenuBar コントロール型での UI オートメーションのサポートに関する情報を提供します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーションのプロパティ値、コントロール パターンに関する特定のガイドラインが含まれます。

MenuBar コントロール型を実装するコントロールの例には、メニュー バー コントロールがあります。 メニュー バーは、ユーザーがアプリケーションに含まれるコマンドおよびオプションをアクティブにするための手段を提供します。

以降のセクションでは、MenuBar コントロール型に必要な UI オートメーション ツリーの構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのリスト コントロールに適用されます。

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

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

コントロール ビュー コンテンツ ビュー
MenuBar

- MenuItem (1 個以上)
- その他のコントロール (0 個以上)
MenuBar

- MenuItem (1 個以上)
- その他のコントロール (0 個以上)

メニュー バー コントロールの構造には、エディット コントロールやコンボ ボックスなどの他のコントロールを含めることができます。 これらの追加コントロールは、コントロール ビューおよびコンテンツ ビューに含まれる、上記に一覧した「その他のコントロール」に対応します。

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

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

UI Automation のプロパティ Notes
BoundingRectangleProperty 「ノート」を参照してください。 このプロパティで公開する値には、メニュー バー コントロールに含まれるすべてのコントロールを含める必要があります。
NameProperty 「ノート」を参照してください。 アプリケーションに複数のメニュー バーがある場合を除き、メニュー バー コントロールに名前は必要ありません。 アプリケーションに複数のメニュー バーがある場合、このプロパティを使用して、「書式設定」や「アウトライン」といった識別名を公開する必要があります
LabeledByProperty Null メニュー バー コントロールには例外なく、ラベルはありません。
ControlTypeProperty MenuBar この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty 「メニュー バー」 MenuBar コントロール型に対応する、ローカライズされた文字列。
IsContentElementProperty このメニュー バー コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
IsControlElementProperty True このメニュー バー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
IsOffscreenProperty 「ノート」を参照してください。 このプロパティの値は、コントロールを画面に表示できるかどうかによって異なります。
OrientationProperty 依存 このプロパティは、メニュー バー コントロールが水平または垂直のいずれかであるかを公開します。
IsKeyboardFocusableProperty メニュー バー コントロールに含まれるコントロールはキーボード フォーカスを受け取ることができるため、メニュー バー コントロールはキーボード フォーカスを受け取ることができます。
HelpTextProperty 「ノート」を参照してください。 メニュー バー コントロールにヘルプ テキストが必要になるシナリオはありません。
AcceleratorKeyProperty Null メニュー バーでアクセラレータ キーを使用することは決してありません。
AccessKeyProperty 「ALT」 ALT キーを押すと常に、アプリケーション内のメニュー バーにフォーカスが移動します。

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

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

コントロール パターン サポート Notes
IExpandCollapseProvider 依存 コントロールを展開または折りたたむことができる場合は、 IExpandCollapseProviderを実装します。
IDockProvider 依存 コントロールを画面のさまざまな部分にドッキングできる場合は、 IDockProviderを実装します。
ITransformProvider 依存 コントロールのサイズ変更、回転、移動が可能な場合は、 ITransformProviderを実装する必要があります。

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

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

UI オートメーション イベント サポート/値 Notes
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
ExpandCollapseStateProperty プロパティ変更イベント。 依存 なし
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目