Form

Q
FormをDialogの代わりに使用する
A

[解決方法]
FormをDialogの代わりに使用する方法をご紹介します。

この方法を使うと、特に狭い範囲で作業する画面を作成する際、次の様なメリットがあります。

 ・ タイトルバーが表示されない分、画面を広く使うことができる
 ・ 表示場所を座標指定することが出来る

ただしタイトルバーが表示されないので、手動操作で画面位置を移動させることは出来ません。

サンプルソースでは、呼び出し元のFormをForm_A、呼び出し先のFormをForm_Bとし、 Form_AにあらかじめForm_Dummyを用意し、その中にForm_Bを表示することでForm内に別Formを呼び出しています。

またForm_Dummyが表示に使用されない時にwidth、heightをともに0とし、画面を閉じたように見せるといった実装が可能です。

[サンプルコード]
■Form_A(呼び出し側)
Form Form_A {
(略)

 /*Form_ dummyを用意*/
 Form Form_dummy{
  Width=0;
  Height=0; 
 }
 
 Button Button1 {
  (略)

  Function OnTouch( e ) {
    /*Form_dummyの表示サイズを指定*/
    ^.Form_dummy.x=25;
    ^.Form_dummy.y=30;
    ^.Form_dummy.Width=250;
    ^.Form_dummy.Height=300;
    
    /*Form_dummy内にForm_Bを呼び出す*/
    ^.Form_dummy.Get("Form_B.crs");
  }
 }
}

■Form_B(呼び出される側)
Form Form_B {
(略)
 
 Button Button1 {
  (略)
  
  Function OnTouch( e ) {
    /*Form_dummyを見えないようにする*/
    //.Form_A.Form_dummy.width=0;
    //.Form_A.Form_dummy.height=0;

    /*Form_Bを閉じる*/
    Form_B.Delete();
  }
 }
}

実際の挙動についてはCRSファイル形式のサンプル
  「FormをDialogの代わりに利用するサンプル(FrmM_001.zip)
をご参照ください。

管理番号:FrmM_001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ