Dialog

Q2
フォームからダイアログを、ダイアログから別ダイアログを呼び出し、
別ダイアログを閉じると、フォームにフォーカスが移ってしまう

[内容]
(1)Form1からDialog1を呼び出す。さらにDialog1からDialog2を呼び出す。




(2)Dalog2を閉じると、Dialog1にフォーカスが戻らず、Form1にフォーカスが
  戻ってしまう。


A2
[原因]
ルートオブジェクト"//"からダイアログを取得すると、オブジェクトツリーの同階層に
Form1、Dialog1、Dialog2のオブジェクトが並んで生成されるため、Dialog2を削除した場合に
Form1にフォーカスが当たってしまいます。

■ダイアログの呼び出し

Form1.crs
  /* Dialog1の呼び出し */
   //.Get( "Dialog1.crs" );

Dialog1.crs
  /* Dialog2の呼び出し */
  //.Get( "Dialog2.crs" );


■オブジェクトの階層(Biz/Designerのウォッチビューで確認)





[解決方法]
ダイアログをFormやDialogから取得し、オブジェクト階層を調整します。

■ダイアログの呼び出し

Form1.crs
  /* Dialog1の呼び出し */
   Form1.Get( "Dialog1.crs" );

Dialog1.crs
  /* Dialog2の呼び出し */
   Dialog1.Get( "Dialog2.crs" );


■オブジェクトの階層(Biz/Designerのウォッチビューで確認)





オブジェクト階層を調整することで、Dialog2を閉じた後、Dialog1にフォーカスが戻ります。



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