[解決方法]
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)」
をご参照ください。
|