想窗体创建了之后不显示,就直接HIDE.
我在 SHOW时间里面 写上 SELF.HIDE.但是报错,
 各位大虾,怎么实现这功能?

解决方案 »

  1.   

    dpr文件中添加application.showmainform:=false;
      

  2.   

    Application.ShowMainForm := False;
      

  3.   

        Application.CreateForm(TPassForm, PassForm);
        Application.CreateForm(TMainForm, MainForm);
        Application.ShowMainForm:=false;   这样又有个问题出来了,PASSFORM 没出来了, 但是MAINFORM也不出来了, 我要PASSFORM创建后,马上HIDE,MAINFORM窗体显示出来.
     大家指点下!
      

  4.   

    首先将project->Option中的Forms页的AutoCreateForms中把你不显示的Form移动到AvaliableForm中去。
    如果要调用该form使用如下方法:
    比如,你要调用的Form名字叫做Form1,里面有一个函数实现某种功能,该函数叫做function1,在主form的button1Click中如下写:
    procedure TmainForm.button1click(sender);
    begin
      form1:= TForm1.Create(Application);  //因为你的form1已经不是AutoCreate了,故使用前要Create
      form1.function1(parameters);  //不显示form1,调用该form1的function1
      form1.Free;  //调用后记得free
    end;同样,如果你要在button1Click中把Form1 Show出来如下写:
    procedure TmainForm.button1click(sender);
    begin
      form1:= TForm1.Create(Application);  //因为你的form1已经不是AutoCreate了,故使用前要Create
      form1.ShowModal;  //显示Form1,一直到Form1关闭  ,注意ShowModal和Show的区别。具体查看帮助
      form1.Free;  //调用后记得free
    end;如果不用Form1.ShowModal,则注意Form1.Free的位置.因为ShowModal是一直等到Form关闭后才执行Free,如果用Show,那么程序马上会执行Free,结果就show不出来了.
      

  5.   

    没有仔细看,应该是你要达到Login的功能吧……,LoginForm一般实现方法如下:
    以只有一个MainForm和一个LoginForm例子如下:
    首先将LoginForm从AutoCreate列表中去除(Project->Option中设置)
    然后使用Project->ViewSource,进入Project的代码中,大约代码更改成如下:begin
      Application.Initialize;
      LoginForm:= TLoginForm.Create(Application);
      if LoginForm.ShowModal <> mrOK then  
      begin
        LoginForm.Free;
        Application.Terminated;
      end;
      LoginForm.Free;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
      

  6.   

    begin 
      Application.Initialize;   
      Application.CreateForm(TForm1, Form1);   
      Application.CreateForm(TLoginForm, LoginForm); 
      if LoginForm.ShowModal = mrOK then
        Application.Run;
    end;
      

  7.   

    Application.ShowMainForm := False;
      

  8.   

    非常感谢大家,我按5楼(jufeng_zhu)说的做好了.
    散分.