WideStudio Application Builder User's Guide(Perl言語)

インプットフィールドでキー入力を選別するには

インプットフィールドでキー入力を選別するには、キーフックトリガでイベ ントプロシージャを作成します。

# キーフックのイベントプロシージャのサンプル
# WSEV_KEY_HOOKトリガで設定します。
use mwt;

sub hookop {
  my ($object) = @_;
  # 何か処理を記述して下さい
  $key = mwt::WSDkeyboard_getKey( mwt::WSGIappKeyboard() );
  if  (($key >= $mwt::WSK_0    && $key <= $mwt::WSK_9   ) ||
       ($key >= $mwt::WSK_KP_0 && $key <= $mwt::WSK_KP_9) ||
        $key == $mwt::WSK_plus      || $key == $mwt::WSK_minus  ||
        $key == $mwt::WSK_BackSpace || $key == $mwt::WSK_Delete ||
        $key == $mwt::WSK_Insert    || $key == $mwt::WSK_space  ||
        $key == $mwt::WSK_Up        || $key == $mwt::WSK_Down   ||
        $key == $mwt::WSK_Left      || $key == $mwt::WSK_Right  ||
        $key == $mwt::WSK_Return ){
    # 数字キーは処理を通す
    return;
  }
  # それ以外は捨てる
  mwt::WSDkeyboard_setKey( mwt::WSGIappKeyboard(), 0);
  return;
}
1;

このサンプルは、数字入力のみを行いたいインプットフィールドを実現しま す。キーボードオブジェクトに対して、getKey() 関数により現在入力され つつあるキーを選別して、いらないキーの場合、 mwt::WSDkeyboard_setKey(mwt::WSGIappKeyboard(),0) を実行して、 入力キーコードを塗りつぶし、入力がなかったように装います。
Document Release 3.80 for WideStudio ver 3.80, Jan 2005


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。