在MdiMain窗体中,通过show方法打开一个child窗体。
运行这个程序,我打开这个子窗体(正常),我点 “关闭(就是右上角的那个X)” 来关闭窗体,这个窗体就最小化了!我点最大化后,子窗体是最大化了,可在主窗体上就没有子窗体的菜单了(我指:最小化,还原,关闭这三个),奇怪。我新建个程序,所有的功能都不加,就建两个窗体来实验,就又好使了,那闷儿了!!感谢。

解决方案 »

  1.   

    响应你要关闭的那个窗口的OnClose事件
      Action:=caFree;
      Form12:=nil;
    这样就把窗口对象释放了,也就没有了,你下次要显示的时候,必须重新创建
    创建的代码:
        if not Assigned(Form12) then
          Application.CreateForm(TForm12, Form12);
      

  2.   

    加上一个按钮,click中form1.hide
      

  3.   

    Action:=caFree;楼主结贴,,,,答案出现了
      

  4.   

    procedure TfrmChild.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      action:=caFree;
    end;楼主结贴
      

  5.   

    BlueTrees(蜗牛)说的对呀,你可以试一下。OK!
      

  6.   

    OnClose事件
      Action:=caFree;
    简单的很的.
      

  7.   

    MDI窗体默认的关闭是最小化
    Action:=caFree;解决最小化问题