次の方法で共有


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

メモメモ

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージ UI Automation クラスを使用する .NET Framework 開発者を対象としています。UI Automationに関する最新情報については、「Windows Automation API: UI Automation (Windows オートメーション API: UI オートメーション)」を参照してください。

ここでは、Microsoft UI Automationによる Menu コントロール型のサポートに関する情報を示します。 コントロールの Microsoft UI Automation ツリー構造について説明し、特定のコントロール シナリオ用のプロパティとコントロール パターンを示します。

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

以下のセクションでは、Menu コントロール型で必要な UI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI Automationの各要件は、Windows Presentation Foundation (WPF)、Win32、Windows Forms のいずれの場合でも、すべてのリスト コントロールに当てはまります。

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

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 必須の UI オートメーション イベント
  • 関連トピック

必須の UI オートメーション ツリー構造

次の表では、メニュー コントロールに関連した UI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに格納できるものについて説明します。 UI Automation ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー

コンテンツ ビュー

Menu

  • MenuItem (1 または複数)

該当なし (メニュー コントロールが、メニュー項目ではないオブジェクトの親であるコンテキスト メニューである場合を除きます)。

  • MenuItem (1 または複数)

メニュー コントロールは、UI Automation ツリーのコントロール ビューとコンテンツ ビューに常に表示されます。 Menu コントロール型は、そのコントロールの情報が参照しているコントロールの下に表示されます。 UI オートメーション クライアントは、メニュー コントロールによって伝達される情報を絶えず取得できるように、MenuOpenedEvent を待機する必要があります。 コンテキスト メニュー コントロールは、特殊なケースです。 コンテキスト メニュー コントロールはデスクトップの子として表示されます。

必須の UI オートメーション プロパティ

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

UI Automation プロパティ

説明

NameProperty

サポートなし

メニュー コントロールでは、Name プロパティを設定する必要はありません。

LabeledByProperty

Null

通常のメニュー コントロールではラベルは不要です。

ControlTypeProperty

Menu

この値は、すべての UI フレームワークで共通です。

IsContentElementProperty

False

メニュー コントロールは、UI Automation ツリーのコンテンツ ビューには含まれません。

IsControlElementProperty

True

メニュー コントロールは、UI Automation ツリーのコントロール ビューに常に含まれます。

必須の UI オートメーション コントロール パターン

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

必須の UI オートメーション イベント

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

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

UI Automation イベント

サポート/値

説明

MenuOpenedEvent

必須

なし

MenuClosedEvent

必須

なし

BoundingRectangleProperty プロパティ変更イベント

必須

なし

IsOffscreenProperty プロパティ変更イベント

必須

なし

IsEnabledProperty プロパティ変更イベント。

必須

なし

AutomationFocusChangedEvent

必須

なし

StructureChangedEvent

必須

なし

参照

参照

Menu

概念

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

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

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