高手:    有没有人知道怎样让MDI的子窗口只打开一个!当这个子窗口关闭后还可打开!也只能一个?请高手解答答!?

解决方案 »

  1.   

    各位对不起改正一个错误:是这样的在一个MDI程序中要打开一个子窗口,只能让这个窗口创建一次,也就不能打开两个相同的子窗口,而这个子窗口关闭后还可以打开!
      

  2.   

    const
         CM_RESTORE =WM_USER+ $1000; {自定义的“恢复”消息}
         CHILDNAME = 'My Child Program';
      var RvHandle : hWnd; RvHandle := FindWindow(MYCHILD, NIL);
      if RvHandle > 0 then
        begin
           PostMessage(RvHandle, CM_RESTORE, 0, 0);
           Exit;
        end;以上代码加在项目文件或父窗口中
      

  3.   

    在创建的时候写
      frmMDIChild := TfrmMDIChild(Application);『在整个程序关闭的时候该窗体才会释放』所以只需要创建一次
      然后可以用:
      frmMDIChild.show;来调用
      

  4.   

    先if MDICHILDCOUNT>0 THEN
        begin
          ActiveMDIChild.Close ;
        end;
    再showmodal窗口