インプットフィールドでキー入力を選別するにはインプットフィールドでキー入力を選別するには、キーフックトリガで イベントプロシージャを作成します。
//キーフックのイベントプロシージャのサンプル
//WSEV_KEY_HOOKトリガで設定します。
#include "WSDkeyboard.h"
...
void hookop(WSCbase* object){
//何か処理を記述して下さい
long key = WSGIappKeyboard()->getKey();
if ( (key >= WSK_0 && key <= WSK_9 ) ||
(key >= WSK_KP_0 && key <= WSK_KP_9) ||
key == WSK_plus || key == WSK_minus ||
key == WSK_BackSpace || key == WSK_Delete || key == WSK_Insert ||
key == WSK_space || key == WSK_Up || key == WSK_Down ||
key == WSK_Left || key == WSK_Right || key == WSK_Return ){
//数字キーは処理を通す
return;
}
//それ以外は捨てる
WSGIappKeyboard()->setKey(0);
}
このサンプルは、数字入力のみを行いたいインプットフィールドを実現します。
キーボードオブジェクトに対して、getKey() 関数により
現在入力されつつあるキーを選別して、いらないキーの場合、 setKey(0) を
実行して、入力キーコードを塗りつぶし、入力がなかったように装います。
Document Release 3.00 For Use with Wide Studio Release 3.00, Summper 2002
|