想做一个登陆的小窗体,在程序运行的开始出现在主窗体上面,在输入正确地口令验证之后,才可以对主窗体进行操作,这个是怎么实现的呀?以前没有用过Delphi,不好意思,能给点细致的讲解吗?多谢

解决方案 »

  1.   

    主窗体的onshow事件里加入  formnew.showmodal;(formnew是登录窗体)
      

  2.   

    首先你需要明确你的流程mainForm
      |
    loginForm:=xxx.create(nil);
    loginForm.showModal;
      |
    在loginForm内判断登录是否成功
      |
      |——不成功,返回不成功标志,关闭loginForm,主页面不发生变化,或程序干脆关闭。
      |
    成功给mainForm返回成功标志,
    关闭loginForm,进入其他页面。
      

  3.   

    在.dpr文件里写。Application.Initialize;
    Application.ShowMainForm := False;
    Application.CreateForm(TMainFrm, MainFrm);
    Application.CreateForm(TLogInFrm, LogInFrm);
    ...
    ...
    ...
    LogInFrm.ShowModal ;
    if LogInFrm.ablpass then
    begin
      Application.ShowMainForm := True;
      Application.Run;
    end
    else
      Application.Terminate ;
      

  4.   

    主窗体的onshow事件里面运行formnew.showmodal;
    我希望要的是主窗体也显示出来的,只不过formnew需要在主窗体上面,此时仅仅能对formnew窗体操作,应该怎么写呢?
      

  5.   

    主窗体的onActivate事件里面运行formnew.showmodal;符合你的要求
      

  6.   

    终级解决办法.自己定义一个消息MSG_SHOWLOG 用PostMessage发送.
    在消息函数中显示登陆窗体.在窗体的onshow 最后一句发送这个消息.
    postMessage(Self.Handle,MSG_SHOWLOG,0,0);以前用过什么?