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

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

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

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

def hookop(object)
  # 何か処理を記述して下さい
  key = Mwt::WSGIappKeyboard().getKey() 
  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 
  end
  # それ以外は捨てる
  Mwt::WSGIappKeyboard().setKey(0) 
end

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


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