想在开始时先出现登录界面,要求输入密码,确认后才出现主form,不想设登录界面为主form,怎样搞?

解决方案 »

  1.   

    在主Form的Create事件中创建登陆Form,show出来。
      

  2.   

    还可以把登陆界面作为主界面,等判断用户正确后,main界面show 登陆界面.visible:=false
    搞定
      

  3.   

    是可以不用动态创建,但是动态创建比较好,节省资源。
    需要手工设置mainform的话,在ide下project里有。
      

  4.   

    在主Form的Create事件中创建登陆Form,显示出来。
    或者增加一个布尔变量,在Create事件中为真,
    然后在主窗体的ACTIVE事件中判断,为真时创建登陆Form,显示出来,
    再把该变量改为假
      

  5.   

    Begin
      Application.Initialize;
      Application.Title := '李云枫软件工作室';
      WelcomFrm := TWelcomFrm.Create(Nil);
      WelcomFrm.Show;  //然后在Welcomfrm里,在适当的时候释放自己,然后创建登录窗口.
    //在登录窗口时,如果验证身份正确后运行以下两行代码
    { Application.ShowMainForm := True;
      Application.MainForm.Show;}
      Application.ShowMainForm := False;
      Application.CreateForm(TMainForm, MainForm);
      Application.Run;
    End.
      

  6.   

    ....
    Application.Initialize;
    //开始创建封面
    CoverForm:=TCoverForm.Create(Application);  //这里最好指定Owner为Application
    CoverForm.Show;
    CoverForm.Update;
    //在封面窗体上放一个Timer控件,Interval属性指定为你要封面显示的时间段。当OnTimer事件发生的时候,将Enabled属性设置为False
    while CoverForm.Timer1.Enabled do 
      Application.ProcessMessages;
    Application.CreateForm(TMainForm,MainForm);
    CoverForm.Hide;  
    CoverForm.Free;  //释放封面窗体对象
    Application.Run;
      

  7.   

    当创建CoverForm窗体并在过了指定时间(在Timer的Interval中指定)后Timer控件开始触发OnTimer事件,这个时候Timer1.Enabled:=False;导致while循环退出,并开始创建程序主窗体并释放封面窗体,最后程序开始运行(Run).....其中Application.ProcessMessages用来暂时停止程序执行,并进入消息队列开始处理排队消息,直到消息处理完毕后才将控制权重新交给程序........
      

  8.   

    太复杂了吧?我觉得只要主窗口用show就可以了,然后把登陆窗口关闭就可以了
      

  9.   

    这个方法是制作SPLASH窗口的标准方法!
      

  10.   

    最简单的方法还是在FMain的Show事件里显示登录窗体最好的。
      

  11.   

    Maple119(枫叶) 是可以的,我开发管理系统都是采用这样的方法。