各位高手们,你们好.我创建的两个窗体,一个是父窗体,一个是子窗体.我想请教的是:在运行的时候,怎么才能使只出现父窗体,而子窗体在我需要的时候由我单击而显示出来,另外子窗体关闭时,在父窗体中不显示出来,也就是说除了父窗体之外,子窗体必须是我通过菜单的单击事件才能显示的.

解决方案 »

  1.   

    子窗体动态创建,在彩单某一项的单击事件里写:
    var
     ChildForm:TYourForm
    begin
     ChildForm:=TYourForm.Create(self)
     try
      ChildForm.show
     except
      showmessage('子窗口创建失败');
     end;
    end;
      

  2.   

    你在菜单项project下点击View Source项,然后删除子窗体的创建语句.再在你的菜单项里增加创建与显示的代码.
      

  3.   

    选择菜单“Project|Options...”,
    在"Forms"选项卡中将Main Form改为父窗体,
    将子窗体从Auto-create forms中移到右边去。在子窗体的OnClose事件中加上Action := caFree;
      

  4.   

    在project菜单底下的--options--里面有个auto create form,把你不需要出现的form都去掉
    然后动态调用你的子窗体,
    比如在你的某个菜单的click里写上
    var
     ChildForm:TYourForm
    begin
     ChildForm:=TYourForm.Create(self)
     try
      ChildForm.show
     except
      showmessage('子窗口创建失败');
     end;
    end;
      

  5.   

    如果创建的不是CHILDFORM,则在project(显示的文件)的文件中将子窗体的创建语句去掉;子窗体的释放 ACTION:=CAFREE;
      

  6.   

    首先在program中不要create子form
    在要打开子Form的事件中:
    var
     ChildForm:TchildForm
    begin
     ChildForm:=TchildForm.Create(self)
     try
      ChildForm.show
     except
      showmessage('create childform error!');
     end;
    end;
    在childform的FormClose事件中加上
    action:=cafree;
    就ok了