NOTE!

Q
編集用オブジェクトにおける、Value値確定の留意点

A
Biz/Browserでは、編集用オブジェクトとして、下記のオブジェクトが用意されています。
  ・TextBox
  ・EditBox
  ・DateEdit
  ・NumberEdit
  ・MaskEdit

編集用オブジェクトに入力中の値は、下記のタイミングで確定します。
 ・キーボードフォーカスが失われたとき
 ・Enterキー、Escキー、PageUp、PageDownまたはファンクションキーを押したとき

例えば、Buttonオブジェクトで発生するTouchイベントのイベントハンドラでTextBoxオブジェクトの値を参照する場合、Buttonオブジェクトをマウスクリック、もしくはButtonオブジェクトのAltKeyプロパティに設定したファンクションキー押下でTextBoxオブジェクトの値が確定します。

しかし、ButtonオブジェクトAltKeyプロパティへ値を確定しないキー(HOMEキーなど)を設定した場合や、キーをショートカットキーとしてFormオブジェクトのOnKeyDownイベントハンドラで受けて、ButtonオブジェクトのOnTouchイベントハンドラを呼んだ場合は、値が確定せず、Valueプロパティは空です(Number型の場合は0が入ります)。

この様な場合、//.DecideValue()を使用します。
//.DecideValue()は、未確定状態のオブジェクトを強制的にValueプロパティに転送します。


[サンプルコード]

・TextBoxオブジェクトの例

Form Form1 {
    X = 0;
    Y = 0;
    Width = 400;
    Height = 300;
    TextBox TextBox1 {
        X = 10;
        Y = 10;
        Width = 130;
        Height = 20;
    }
    Button Button1 {
        X = 145;
        Y = 10;
        Width = 100;
        Height = 20;
        Title = "ボタン(&S)";
        
        Function OnTouch( e ) {
            MessageBox(Form1.TextBox1.Value);
        }
    }

    Function OnKeyDown( e ) {
        if ( e.AltKey == 1 && e.Key == "S"){
            //.DecideValue();
            Form1.Button1.OnTouch( e );
        }
    }
}
管理番号:PntM_012
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ