注
このドキュメントは、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 | 必須 | 無し |