次の方法で共有


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

このドキュメントは、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 オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
メニューバー

- メニューアイテム (1つ以上)
- その他のコントロール (0 または多数)
メニューバー

- メニューアイテム (1つ以上)
- その他のコントロール (0 または多数)

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

必要な UI オートメーション プロパティ

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

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

必要な UI オートメーション コントロール パターン

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

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

必要な UI オートメーション イベント

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

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

こちらも参照ください