MenuBar コントロールの種類
このトピックでは、MenuBar コントロールの種類に対する Microsoft UI オートメーションのサポートについて説明します。
メニュー バー コントロールは、MenuBar コントロール型を実装するコントロールの例です。 メニュー バーは、ユーザーがアプリケーションに含まれるコマンドとオプションをアクティブ化するための手段を提供します。
次のセクションでは、MenuBar コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンに対する UI オートメーションのサポートを統合するすべてのメニュー バー コントロールに適用されます。
このトピックには、次のセクションが含まれています。
- 一般的なツリー構造の
- 関連するプロパティ を する
- 必要なコントロール パターンの
- 必要なイベント を する
- 関連トピック
一般的なツリー構造
次の表は、メニュー バー コントロールに関連する UI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
メニュー バー コントロールは常にコントロール ビューに表示されますが、コンテンツ ビューには表示されません。通常、エンド ユーザーに意味のある情報が伝わらないためです (アプリケーションに複数のメニュー バーが含まれていない場合)。
UI オートメーション クライアントは、UIA_MenuModeStartEventId イベントをリッスンして、UI がメニュー モードになったときに常に通知されるようにすることができます。 アプリケーションがメニュー モードの場合、メニュー ナビゲーション用にすべてのキーボード入力をキャプチャできます (たとえば、「s」と入力すると、アプリケーション クライアント領域に文字を入力する代わりに 保存 メニューが呼び出されることがあります)。 UIA_MenuModeStartEventId イベントは、論理整合性を確保するために、最初の UIA_MenuOpenedEventId イベントの前に置く必要があります。 UIA_MenuModeEndEventId イベントは、最後の UIA_MenuClosedEventId イベントの後に続きます。 メニュー項目をクリックすると、すぐに UIA_MenuModeStartEventId イベントがトリガーされ、その後に UIA_MenuOpenedEventId イベントがトリガーされる場合があります。
メニュー バー コントロールには、その構造内に他のコントロール (エディット コントロールやコンボ ボックスなど) を含めることができます。 これらの追加コントロールは、コントロールおよびコンテンツ ビューで上に示した "その他のコントロール" に対応します。
関連するプロパティ
次の表に、MenuBar コントロール型に特に関連する値または定義を持つ UI オートメーション プロパティの一覧を示します。 UI オートメーション プロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。
UI オートメーション プロパティ | 価値 | 筆記 |
---|---|---|
UIA_AcceleratorKeyPropertyId | ヌル | 通常、メニュー バーにはアクセラレータ キーはありません。 |
UIA_AccessKeyPropertyId | "Alt" | 通常、Alt キーを押すと、アプリケーション内のメニュー バーにフォーカスが移動します。 |
UIA_BoundingRectanglePropertyId | ノートを参照してください。 | このプロパティによって公開される値には、その中に含まれるすべてのコントロールが含まれている必要があります。 |
UIA_ControlTypePropertyId | MenuBar | |
UIA_IsContentElementPropertyId | 偽 | メニュー バー コントロールは、UI オートメーション ツリーのコンテンツ ビューには含まれません。 |
UIA_IsControlElementPropertyId | 真 | メニュー バー コントロールは、常に UI オートメーション ツリーのコントロール ビューに含まれます。 |
UIA_IsKeyboardFocusablePropertyId | 真 | メニュー バー コントロールはキーボードフォーカス可能です。含まれるコントロールはキーボード フォーカスを取得できるためです。 |
UIA_IsOffscreenPropertyId | ノートを参照してください。 | このプロパティの値は、コントロールが画面上で表示可能かどうかによって異なります。 |
UIA_LabeledByPropertyId | ヌル | 通常、メニュー バー コントロールにはラベルがありません。 |
UIA_LocalizedControlTypePropertyId | ノートを参照してください。 | MenuBar コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "メニュー バー" です。 |
UIA_NamePropertyId | ノートを参照してください。 | アプリケーションに複数のメニュー バーがない限り、メニュー バー コントロールには名前は必要ありません。 アプリケーションに複数のメニュー バーがある場合は、このプロパティを使用して、"書式設定" や "アウトライン" などの識別名を公開します。 |
UIA_OrientationPropertyId | 依存 | このプロパティは、メニュー バー コントロールが水平か垂直かを示します。 |
必要なコントロール パターン
次の表に、メニュー バー コントロールでサポートするために必要な UI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。
コントロール パターン | 支える | 筆記 |
---|---|---|
IExpandCollapseProviderをする | 依存 | コントロールを展開または折りたたむことができる場合は、ExpandCollapse コントロール パターンを実装する必要があります。 |
IDockProviderの | 依存 | コントロールを画面のさまざまな部分にドッキングできる場合は、Dock コントロール パターンを実装する必要があります。 |
ITransformProviderの | 依存 | コントロールのサイズ変更、回転、または移動が可能な場合は、Transform コントロール パターンを実装する必要があります。 |
必要なイベント
次の表に、メニュー バー コントロールがサポートするために必要な UI オートメーション イベントを示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。
UI オートメーション イベント | 筆記 |
---|---|
UIA_AutomationFocusChangedEventId | |
プロパティ変更イベント UIA_BoundingRectanglePropertyId します。 | |
プロパティ変更イベント UIA_ExpandCollapseExpandCollapseStatePropertyId します。 | コントロールが ExpandCollapse コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベントを UIA_IsEnabledPropertyId します。 | コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベント UIA_IsOffscreenPropertyId します。 | コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
UIA_StructureChangedEventId |
関連トピック