IAccessible::get_accKeyboardShortcut メソッド (oleacc.h)

IAccessible::get_accKeyboardShortcut メソッドは、指定したオブジェクトのショートカット キーまたはアクセス キー (ニーモニックとも呼ばれます) を取得します。 ショートカット キーまたはアクセス キーを持つすべてのオブジェクトは、このプロパティをサポートします。

構文

HRESULT get_accKeyboardShortcut(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszKeyboardShortcut
);

パラメーター

[in] varChild

型: VARIANT

取得したキーボード ショートカットがオブジェクトに属するか、オブジェクトの子要素の 1 つに属するかを指定します。 このパラメーターは、CHILDID_SELF (オブジェクトに関する情報を取得するため) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかです。 VARIANT の初期化の詳細については、「パラメーターでの子 ID の使用方法」を参照してください。

[out, retval] pszKeyboardShortcut

種類: BSTR*

キーボード ショートカットを識別するローカライズされた文字列を受け取る BSTR のアドレス。指定されたオブジェクトにキーボード ショートカットが関連付けられていない場合は NULL

戻り値

型: HRESULT

成功した場合は、S_OK を返します。

成功しなかった場合は、次のテーブルの値の 1 つ、または別の標準 COM エラー コードを返します。 サーバーはこれらの値を返しますが、クライアントは常に出力パラメーターをチェックして、有効な値が含まれていることを確認する必要があります。 詳細については、「 IAccessible 戻り値の確認」を参照してください。

エラー 説明
S_FALSE
オブジェクトには、関連付けられたキーボード ショートカットがありません。
E_INVALIDARG
引数が有効ではありません。
DISP_E_MEMBERNOTFOUND
オブジェクトは、このプロパティをサポートしていません。

注釈

アクセス キーは、メニュー、メニュー項目、またはボタンまたはその他のコントロールのラベルのテキストの下線付きの文字です。 たとえば、ユーザーは Alt キーを押しながら、指定された下線付きキー (Alt + F キーなど) を押して File メニューを開くことで、メニューを表示できます。 メニュー項目のアクセス キーを使用するには、項目を含むメニューがアクティブである必要があります。

ツール バー ボタンやメニュー項目などのコントロールには、多くの場合、ショートカット キー (キーボード アクセラレータとも呼ばれます) が関連付けられています。 一部のメニュー項目にはアクセス キーとショートカット キーの両方があり、一部のメニュー項目には 1 つだけが含まれる場合があります。 たとえば、 New というメニュー項目にはアクセス キー N とショートカット キー Ctrl + N があります。 ショートカット キーを機能させるために、メニューをアクティブにする必要はありません。

クライアント開発者への注意:

このプロパティが 1 文字を返す場合、アクセス キーまたはキーボード ショートカットであるとは見なせません。 標準メニュー項目では、アクセス キーは IAccessible::get_accKeyboardShortcut によって返され、ショートカット キーは IAccessible::get_accName から返されるメニュー項目名の一部として返されます。 一般に、アクセス キーは Alt + <文字>として定義される傾向があり、キーボード ショートカットは Ctrl + <文字>である傾向があります。

サーバー開発者への注意: UI 要素がキーボード フォーカスを受け取ることができる場合は、 要素のアクセス キーを公開する必要があります。 UI 要素がキーボード フォーカス (ツール バー アイコンなど) を受け取ることができない場合は、ショートカット キーを表示する必要があります。

通常、ショートカット キーはコントロール自体ではなくアプリケーションによって決定されるため、サーバーは通常、ウィンドウの標準のアクセス可能なオブジェクトから取得した値を返すことができます。

クライアントの例

次の関数例では、指定したアクセシビリティ対応オブジェクトまたはその子のいずれかのキーボード ショートカットを取得し、コンソールに出力します。

HRESULT PrintShortcut(IAccessible* pAcc, long child)
{
    if (pAcc == NULL)
    {
        return E_INVALIDARG;
    }
    BSTR bstrShortcut;
    VARIANT varObj;
    varObj.vt = VT_I4;
    varObj.lVal = child;
    HRESULT hr = pAcc->get_accKeyboardShortcut(varObj, &bstrShortcut);
    if (hr == S_OK)
    {
        printf("Shortcut: %S\n", bstrShortcut);
        SysFreeString(bstrShortcut);
    }
    return hr;
}

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー oleacc.h
Library Oleacc.lib
[DLL] Oleacc.dll
再頒布可能パッケージ SP6 以降および Windows 95 を使用した Windows NT 4.0 のアクティブなアクセシビリティ 1.3 RDK

こちらもご覧ください

Iaccessible

IAccessible::get_accName

KeyboardShortcut プロパティ

バリアント