WideStudio Logo
WideStudio
Programming Guide
WideStudio 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 に存在しますので、そちらを御参照下さい。

Document Release 3.70 for WideStudio ver 3.70, May 2004


WideStudio documents index | 目次

Copyright(C) WideStudio Development Team, 1999-2004 Last modified: May 25, 2004