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

Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | 目次

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005