画面操作 - マウス
Dialog表示中に親(呼び出し元)画面を操作したい
Dialogクラスのmodalプロパティで、親(呼び出し元)画面の操作を可能とするかどうか設定が可能です。
Biz/Browser DTでは、ダイアログ画面がモーダルモードだけでなくモードレスモードでも表示可能となりました。設定可能な動作モードは以下の3つがあります。
モーダル
(DIALOG_MODAL)
ダイアログを閉じるまでの間、親ウィンドウとその先祖のウィンドウを操作することはできません。
モードレス 子ウィンドウ
(DIALOG_MODELESSCHILD)
ダイアログが表示されている間、親ウィンドウを操作することが可能です。親ウィンドウの配下に属しており、常に親ウィンドウよりも前方に位置します。
モードレス 兄弟ウィンドウ
(DIALOG_MODELESS)
ダイアログが表示されている間、親ウィンドウを操作することが可能です。親ウィンドウとは独立しており、呼び出し元画面操作時は背面に位置します。
1.親ウィンドウ(Form1)
Form form1 { width = 300; height = 300; Button button1 { x = 72; y = 24; width = 152; height = 40; title = "ダイアログ1を表示"; function onTouch(e) { //.get("dialog1.crs"); } } Button button2 { x = 72; y = 80; width = 152; height = 40; title = "ダイアログ2を表示"; function onTouch(e) { //.get("dialog2.crs"); } } Button button3 { x = 72; y = 136; width = 152; height = 40; title = "ダイアログ3を表示"; function onTouch(e) { //.get("dialog3.crs"); } } TextBox textbox1 { x = 40; y = 240; width = 218; height = 32; } Label label1 { x = 24; y = 196; width = 248; height = 36; value = "ダイアログ表示後、modalプロパティの設定で動作が変わるかキー入力してお試しください。"; } }
2.ダイアログ画面1(dialog1 : モーダル)
Dialog dialog1(Dialog.DIALOG_MODAL) { title = "ダイアログ1"; /* Dialogの表示位置 */ x = 400; y = 300; Form Form1 { width = 345; height = 257; Label Label1 { x = 32; y = 56; width = 280; height = 42; value ="ダイアログ1"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); bgColor = Color.GREEN; } /* 閉じるボタン */ Button Button2 { x = 240; y = 184; width = 83; height = 45; title = "閉じる"; Function OnTouch( e ) { /* ダイアログ画面を閉じる */ dialog1.Delete(); } } Label Label2 { x = 32; y = 104; width = 96; height = 42; value ="動作モード :"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); } Label Label3 { x = 128; y = 104; width = 184; height = 42; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_LEFT; font = new Font("MS UI Gothic", 10, true, false, false, false); } if (!Application.DESIGNTIME) { switch(^.modal) { case 0: Label3.value = str(^.modal) + " - モーダル"; break; case 1: Label3.value = str(^.modal) + " - モードレス 子ウィンドウ"; break; case 2: Label3.value = str(^.modal) + " - モードレス 兄弟ウィンドウ"; break; } } } }
3.ダイアログ画面2(dialog2 : モードレス 子ウィンドウ)
Dialog dialog2(Dialog.DIALOG_MODELESSCHILD) { title = "ダイアログ2"; /* Dialogの表示位置 */ x = 400; y = 300; Form Form1 { width = 345; height = 257; Label Label1 { x = 32; y = 56; width = 280; height = 42; value ="ダイアログ2"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); bgColor = Color.GREEN; } /* 閉じるボタン */ Button Button2 { x = 240; y = 184; width = 83; height = 45; title = "閉じる"; Function OnTouch( e ) { /* ダイアログ画面を閉じる */ dialog2.Delete(); } } Label Label2 { x = 32; y = 104; width = 96; height = 42; value ="動作モード :"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); } Label Label3 { x = 128; y = 104; width = 184; height = 42; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_LEFT; font = new Font("MS UI Gothic", 10, true, false, false, false); } if (!Application.DESIGNTIME) { switch(^.modal) { case 0: Label3.value = str(^.modal) + " - モーダル"; break; case 1: Label3.value = str(^.modal) + " - モードレス 子ウィンドウ"; break; case 2: Label3.value = str(^.modal) + " - モードレス 兄弟ウィンドウ"; break; } } } }
4.ダイアログ画面3(dialog3 : モードレス 兄弟ウィンドウ)
Dialog dialog3(Dialog.DIALOG_MODELESS) { title = "ダイアログ3"; /* Dialogの表示位置 */ x = 400; y = 300; Form Form1 { width = 345; height = 257; Label Label1 { x = 32; y = 56; width = 280; height = 42; value ="ダイアログ3"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); bgColor = Color.GREEN; } /* 閉じるボタン */ Button Button2 { x = 240; y = 184; width = 83; height = 45; title = "閉じる"; Function OnTouch( e ) { /* ダイアログ画面を閉じる */ dialog3.Delete(); } } Label Label2 { x = 32; y = 104; width = 96; height = 42; value ="動作モード :"; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_CENTER; font = new Font("MS UI Gothic", 10, true, false, false, false); } Label Label3 { x = 128; y = 104; width = 184; height = 42; verticalAlign = ALIGN_MIDDLE; horizontalAlign = ALIGN_LEFT; font = new Font("MS UI Gothic", 10, true, false, false, false); } if (!Application.DESIGNTIME) { switch(^.modal) { case 0: Label3.value = str(^.modal) + " - モーダル"; break; case 1: Label3.value = str(^.modal) + " - モードレス 子ウィンドウ"; break; case 2: Label3.value = str(^.modal) + " - モードレス 兄弟ウィンドウ"; break; } } } }
Biz-Collections Bizの宝箱 トップへ
Biz/Browser DT・Biz/Designer DT TIPS集 トップへ