IsAccelerator 関数 (ole2.h)

指定したキーストロークが、指定したアクセラレータ テーブル内のアクセラレータにマップされるかどうかを判断します。

構文

BOOL IsAccelerator(
  [in]  HACCEL hAccel,
  [in]  int    cAccelEntries,
  [in]  LPMSG  lpMsg,
  [out] WORD   *lpwCmd
);

パラメーター

[in] hAccel

アクセラレータ テーブルへのハンドル。

[in] cAccelEntries

アクセラレータ テーブル内のエントリの数。

[in] lpMsg

変換するキーストローク メッセージへのポインター。

[out] lpwCmd

キーストローク用のアクセラレータがある場合に対応するコマンド識別子を受け取る変数へのポインター。 このパラメーターは NULL である可能性があります。

戻り値

メッセージがオブジェクト アプリケーション用の場合、戻り値は TRUE です。 メッセージが オブジェクト用ではなく、コンテナーに転送する必要がある場合、戻り値は FALSE です

注釈

オブジェクトがインプレースでアクティブになっている間、オブジェクトは常にキーストロークをアクセラレータに変換する最初の機会を持ちます。 キーストロークがそのアクセラレータのいずれかに対応する場合、オブジェクトは、TranslateAccelerator 関数の呼び出しが失敗した場合でも、OleTranslateAccelerator 関数を呼び出してはなりません。 この方法でキーストロークを処理しないと、一貫性のない動作が発生する可能性があります。

キーストロークがオブジェクトのアクセラレータの 1 つでない場合、オブジェクトは OleTranslateAccelerator を呼び出して、コンテナーがアクセラレータの変換を試みるようにする必要があります。

オブジェクトのサーバーは IsAccelerator を呼び出して、アクセラレータ メッセージがそれに属しているかどうかを判断できます。 一部のサーバーでは、アクセラレータ変換が単独で行われ、 TranslateAccelerator が呼び出されません。 これらのアプリケーションは既に情報を持っているため、 IsAccelerator を呼び出しません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole2.h
Library Ole32.lib
[DLL] Ole32.dll

こちらもご覧ください

OleTranslateAccelerator

TranslateAccelerator