次の方法で共有


メニュー コントロールの種類

このトピックでは、メニュー コントロールの種類に対する Microsoft UI オートメーション のサポートについて説明します。

メニュー コントロールを使用すると、コマンドおよびイベント ハンドラーに関連付けられている要素を階層に編成できます。 一般的な Microsoft Windows アプリケーションでは、メニュー バーに複数のメニュー ボタン ( [ファイル][編集][ウィンドウ] など) が含まれ、各メニュー ボタンによってメニューが表示されます。 メニューには、メニュー項目 ( [新規][開く][閉じる]など) のコレクションが含まれていて、メニュー項目を展開して追加のメニュー項目を表示したり、クリックして特定の操作を実行したりできます。

次のセクションでは、Menu コントロールの種類に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンUI オートメーションサポートを統合するすべてのメニュー コントロールに適用されます。

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

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • メニュー
    • MenuItem (1 個以上)
    • その他のコントロール (0 個以上)
  • メニュー
    • MenuItem (1 個以上)
    • その他のコントロール (0 個以上)

 

メニュー コントロールは、UI オートメーション ツリーのコントロール ビューとコンテンツ ビューに常に表示されます。 メニュー コントロールは、情報が参照しているコントロールの下に表示されます。 UI オートメーションクライアントは、UIA_MenuOpenedEventIdをリッスンして、メニュー コントロールによって伝達される情報を一貫して取得できるようにします。 コンテキスト メニュー コントロールは、特殊なケースです。 デスクトップまたは最上位レベルのアプリケーション ウィンドウの子として表示される場合があります。

メニュー コントロールには、その構造内に編集コントロールやコンボ ボックスなどの他のコントロールを含めることができます。 これらの追加コントロールは、コントロールビューとコンテンツ ビューの前の表に記載されている "その他のコントロール" に対応しています。

関連するプロパティ

次の表に、値または定義が Menu コントロールの種類に特に関連するUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。

UI Automation のプロパティ Notes
UIA_ControlTypePropertyId Menu
UIA_IsContentElementPropertyId true メニュー コントロールは、常にUI オートメーション ツリーのコンテンツ ビューに含まれます。
UIA_IsControlElementPropertyId true このメニュー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
UIA_LabeledByPropertyId NULL 一般的なメニュー コントロールには、ラベルは不要です。
UIA_NamePropertyId 「ノート」を参照してください。 メニュー コントロールに Name プロパティを設定する必要はありません。または、サブメニューを開いたメニュー項目など、関連付けられているコントロールと同じ名前を持つことができます。

 

必須のコントロール パターン

Menu コントロール型に必要なコントロール パターンはありません。

必須イベント

メニュー コントロールが画面に表示されたら 、UIA_MenuOpenedEventId イベントを発生させる必要があります。 UIA_MenuOpenedEventId イベントには、コントロールのテキストが含まれます。 UIA_MenuClosedEventIdイベントは、メニューが画面から消えたときに発生する必要があります。

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

UI オートメーション イベント Notes
UIA_AutomationFocusChangedEventId
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
UIA_MenuClosedEventId
UIA_MenuOpenedEventId
UIA_StructureChangedEventId

 

概念

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

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