メニュー コントロールの種類
このトピックでは、メニュー コントロールの種類に対する Microsoft UI オートメーション のサポートについて説明します。
メニュー コントロールを使用すると、コマンドおよびイベント ハンドラーに関連付けられている要素を階層に編成できます。 一般的な Microsoft Windows アプリケーションでは、メニュー バーに複数のメニュー ボタン ( [ファイル] 、 [編集] 、 [ウィンドウ] など) が含まれ、各メニュー ボタンによってメニューが表示されます。 メニューには、メニュー項目 ( [新規]、 [開く]、 [閉じる]など) のコレクションが含まれていて、メニュー項目を展開して追加のメニュー項目を表示したり、クリックして特定の操作を実行したりできます。
次のセクションでは、Menu コントロールの種類に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンUI オートメーションサポートを統合するすべてのメニュー コントロールに適用されます。
このトピックは、次のセクションで構成されています。
一般的なツリー構造
次の表は、メニュー コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
メニュー コントロールは、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 |
関連トピック