WideStudio Programming Guide

| 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, Feb 2004

WideStudio documents index | 目次

Copyright(C) T. Hirabayashi, 2000-2004 | Last modified: Feb 25, 2004