![]() | Programming Guide | WideStudio/MWT Index 目次 |
グローバルキーフックを利用するには
アプリケーションに入力される全てのキーボードイベントを事前にチェック したい場合、グローバルキーフックを利用します。グローバルキーフックは、 インスタンスにキーイベントが配られる前に、横取りして調べることができ ます。グローバルキーフックはWSDkeyboard クラスのグローバルインスタン スに設定します。
キーボードクラス インスタンスアクセス関数 WSDkeyboard WSGIappKeyboard() #include <WSDkeyboard.h> //グローバルキーフックルーチンのサンプル WSCbool keyhandler(long keycode,WSCbool onoff){ // keycode : キーコードが渡される // onoff : キーが押されたとき=True, 放されたとき=False if (keycode == WSK_F1){ キーが F1 キーだったら特定処理 .... //もしフックしたキーを捨てるならば return False; //復帰値=False はキーイベントを捨てる(インスタンスに配らない) }else if (keycode == WSK_F2){ キーが F2 キーだったら別の特定処理 .... //もしフックしたキーを捨てずにインスタンスに配るならば return True; //復帰値=True はキーイベントをインスタンスに配る... } return True //復帰値=True はキーイベントをインスタンスに配る... } void event_procedure(WSCbase* obj){ //グローバルキーフックルーチンの登録 WSGIappKeyboard()->setGlobalKeyHook( keyhandler ); }keyhandler() 関数は、ユーザがキーボードイベントを横取りして、特別に処 理をするために用意するグローバルキーフックルーチンです。 WSGIappKeyboard() の setGlobalKeyHook 関数を実行して、キーボードオブ ジェクトに登録します。キーフックルーチンの登録は、通常、初期化トリガ で貼られたイベントプロシージャで行います。キーシンボルの定義は、 WSkeysym.h に存在しますので、そちらを御参照下さい。
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |