MDI子窗口做进DLL里,在主窗口调用显示,为什么子窗口在CREATE后变就显示了,我还没SHOW呢就出来了?还有就是MDI子窗口的显示事件顺序越搞越糊涂,所以请各们帮帮忙!

解决方案 »

  1.   


    在create 子窗口后面加上一句:childForm1.visible := false;
      

  2.   

    按Shift+Ctrl+F11,把左边列表中的所有的MDI窗体点放到右边的列表中.
    然后要Show的时候动态创建它
    MyMDIForm := TMyMDIForm.Create(self);
    MyMDIForm.Show;
      

  3.   

    MDI子窗体创建时根本不用Show。直接Create就可以了。
      

  4.   

    那这么说Form的show和active等事件不是不能控制触发时间了??
      

  5.   

    在project/options/Auto-Create Forms选择子窗体放到available forms里就可以了!调用时要用
    Uses childform;然后才可以show;关闭时在childform的close事件里加释放的代码:childform:=nil;
    Action:=caFree;