メニュー項目 (MSAA UI 要素リファレンス)
注意
このトピックでは、MSAA UI 要素リファレンスを目的とした メニュー項目 オブジェクトについて説明します。 さまざまな UI フレームワークで Menu Item オブジェクトを作成する方法については、ここでは説明しません。 使用している UI フレームワークの API リファレンス ドキュメントを参照してください。
メニュー項目は、メニュー バーまたはポップアップ メニュー内の特定の項目を表します。 たとえば、Microsoft Active Accessibility では、メニュー バーの [ ファイル ] メニューのメニュー項目オブジェクトが作成されます。 同様に、Microsoft Active Accessibility は、[ファイル] ポップアップ メニューから [開く ] メニュー項目のメニュー項目オブジェクト を 作成します。
メニュー項目のウィンドウ クラス名は "#32768" です。
IAccessible メソッド
メニュー項目では、次の IAccessible メソッドがサポートされています。
メソッド | 説明 |
---|---|
accDoDefaultAction | メニュー バーのメニュー項目の場合、 accDoDefaultAction はメニューの状態に応じてメニューを表示または閉じます。 ポップアップ メニューのメニュー項目の場合、 accDoDefaultAction はメニュー項目をクリックしてメニュー コマンドを実行します。 |
acchittest | |
accLocation | |
accNavigate | |
accSelect |
IAccessible プロパティ
メニュー項目では、次の IAccessible プロパティが サポートされています。
プロパティ | 説明 |
---|---|
get_accChild | この項目のポップアップ メニュー オブジェクトへの IDispatch インターフェイスを取得します。 |
get_accChildCount | ChildCount プロパティは、メニューまたはサブメニューを表示するメニュー項目の 1 つです。それ以外の場合、ChildCount プロパティは 0 です。 |
get_accDefaultAction | メニューまたはサブメニューを表示するメニュー項目の DefaultAction プロパティは、メニューの状態に応じて "開く" または "閉じる" です。 他のすべてのメニュー項目の DefaultAction プロパティは、"Execute" です。 |
get_accFocus | |
get_accKeyboardShortcut | KeyboardShortcut プロパティは、メニュー項目のアクセス キーです。これは、メニュー項目の名前のテキストの下線付き文字です。 たとえば、File メニュー項目の KeyboardShortcut プロパティは "f" です。 |
get_accName | Name プロパティは、メニュー項目の名前と同じです。 |
get_accParent | Parent プロパティは、メニュー項目を含むメニュー バーまたはポップアップ メニューです。 |
get_accRole | Role プロパティがROLE_SYSTEM_MENUITEM。 |
get_accState |
State プロパティは、STATE_SYSTEM_INVISIBLEまたは 1 つ以上の値の組み合わせのいずれかです。STATE_SYSTEM_UNAVAILABLE STATE_SYSTEM_CHECKED | STATE_SYSTEM_DEFAULT | STATE_SYSTEM_HOTTRACKED | STATE_SYSTEM_FOCUSED | STATE_SYSTEM_HASPOPUP | |
Notes
- メニュー項目で使用すると、 accDoDefaultAction はS_OKを返しますが、アクセス キーで使用される文字が @、または Shift キーまたは別の修飾子キーを必要とするその他の文字?, !,場合、アクションの実行に失敗します。 これは、ALT GR キーを押す必要があるアクセス キー文字を持つ国際キーボードでも発生します。
- SELFLAG_TAKEFOCUSを使用するaccSelect メソッドでは、メニュー項目がポップアップ メニューを開いたり閉じることはありません。 クライアントは accDoDefaultAction メソッドを使用して、ポップアップ メニューを開くか閉じます。
- ポップアップ メニューを表示しないメニュー バー項目は、メニュー項目の名前ではなく 、Name プロパティの "Application" を返します。