指定されたキーストロークが、指定されたアクセラレータテーブル内のアクセラレータに対応するかどうかを判定する。
IsAccelerator hAccel, cAccelEntries, lpMsg, lpwCmd
hAccel : [intptr] アクセラレータテーブルへのハンドル。 cAccelEntries : [int] アクセラレータテーブル内のエントリ数。 lpMsg : [var] 変換対象のキーストロークメッセージへのポインタ。 lpwCmd : [var] キーストロークに対応するアクセラレータがある場合、対応するコマンド識別子を受け取る変数へのポインタ。このパラメータは NULL でもよい。
(プラグイン / モジュール : ole32.dll)
指定されたキーストロークが、指定されたアクセラレータテーブル内のアクセラレータに対応するかどうかを判定する。 [戻り値] メッセージがオブジェクトアプリケーションのものである場合、戻り値は TRUE である。メッセージがオブジェクトのものではなくコンテナに転送すべき場合、戻り値は FALSE である。 [備考] オブジェクトがインプレースでアクティブな間、そのオブジェクトは常に最初にキーストロークをアクセラレータに変換する機会を持つ。キーストロークがそのアクセラレータの一つに対応する場合、オブジェクトは TranslateAccelerator 関数の呼び出しが失敗した場合でも、OleTranslateAccelerator 関数を呼び出してはならない。この方法でキーストロークを処理しなかった場合、一貫性のない動作を招く恐れがある。キーストロークがオブジェクトのアクセラレータの一つでない場合、オブジェクトは OleTranslateAccelerator を呼び出して、コンテナ側でアクセラレータ変換を試みるようにしなければならない。オブジェクトのサーバーは IsAccelerator を呼び出して、アクセラレータメッセージが自身のものかどうかを判断できる。一部のサーバーは独自にアクセラレータ変換を行い、TranslateAccelerator を呼び出さない。そのようなアプリケーションは、すでに情報を持っているため IsAccelerator を呼び出さない。
| プラグイン / モジュール | ole32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ole32_gen2.hs |