我想在一个密码登录框弹出来的时候同时背后有一个正在启动的画面,请问大哥怎么实现啊???帮帮忙!!

解决方案 »

  1.   

    这种情况只能在主Dpr(项目文件)中编写代码。在Creat主窗体之前显示启动画面。
    然后在creat之后将其释放调。
      

  2.   

    修改Project文件如下:
    Frmstar为启动画面;
    begin
      Application.Initialize;
      FrmStart:=TFrmStart.Create(FrmStart);//启动画面创建
      FrmStart.Show;//显示启动画面
      FrmStart.Update;
      sleep(2000);//显示画面2秒钟,如机器速度较慢或程序加载时间长也可不用
      Try
      Application.CreateForm(TFrmMain, FrmMain);
      
      Frmstart.Hide;//隐藏画面
      Finally
      FrmStart.Free;//释放启动画面
      end;
      Application.Run;
    end.
    在FrmMain的OnShow事件中弹出登录对话框
         Login.FrmLogin.ShowModal;//FrmLoing为登录对话框
         Screen.Forms[0].close;           //关闭启动画面;
    注意登录对话框比启动画面小一些才能看见后面的启动画面。
      

  3.   

    不行啊,请说清楚已点啊,我在登录框弹出的时候,启动画面已经释放,sleep(2000);和Login.FrmLogin.ShowModal;这两句在运行的时候总是出现问题
      

  4.   

    //项目文件program GoldSilver;uses
      Forms,
      .......
      .......  
      YrShopSalePMQR in 'YrShopSalePMQR.pas' {ALSPMQR: TQuickRep};{$R *.res}begin
      Application.Initialize;
      Application.Title := '金银泰';
      //登陆验证框  
      ALLogin:= TALLogin.Create(Application);
      ALLogin.ShowModal;
      if not ALLogin.PassOK then
      begin
        ALLogin.close;
        Exit;
      end;
    //显示FLASH 窗口
      ALLogin.free;
      ALflash:= TALflash.Create(Application);
      ALflash.Show;
      ALflash.Update;
     
      Application.CreateForm(TALYRM, ALYRM);
      Application.CreateForm(TDMYR, DMYR);
      Application.CreateForm(TAFInDate, AFInDate);
      Application.CreateForm(TALCYHQR, ALCYHQR);
      Application.CreateForm(TALZLQR, ALZLQR);
      Application.CreateForm(TALCIOQR, ALCIOQR);
      Application.CreateForm(TALZIOQR, ALZIOQR);
      Application.CreateForm(TALSIOQR, ALSIOQR);
      Application.CreateForm(TALSXsQR, ALSXsQR);
      Application.CreateForm(TALSCheckQR, ALSCheckQR);
      Application.CreateForm(TALWastrelQR, ALWastrelQR);
      Application.CreateForm(TALMoneyQR, ALMoneyQR);
      Application.CreateForm(TALScMoneyQR, ALScMoneyQR);
      Application.CreateForm(TALXsTJQR, ALXsTJQR);
      Application.CreateForm(TALCheckQR, ALCheckQR);
      Application.CreateForm(TALBooKQR, ALBooKQR);
      Application.CreateForm(TALStockQR, ALStockQR);
      Application.CreateForm(TALFStockQR, ALFStockQR);
      Application.CreateForm(TALBooKSTQR, ALBooKSTQR);
      Application.CreateForm(TALPandLQR, ALPandLQR);
      Application.CreateForm(TALZLieBQR, ALZLieBQR);
      Application.CreateForm(TALZCheckQR, ALZCheckQR);
      Application.CreateForm(TALShopTJ, ALShopTJ);
      Application.CreateForm(TALShopKH, ALShopKH);
      Application.CreateForm(TALSKHQR, ALSKHQR);
      Application.CreateForm(TALShopPM, ALShopPM);
      Application.CreateForm(TALSPMQR, ALSPMQR);
     
      ALflash.free;//关闭FLASH窗口
      Application.Run;
    end.
      

  5.   

    to "不行啊,请说清楚已点啊,我在登录框弹出的时候,启动画面已经释放,sleep(2000);和Login.FrmLogin.ShowModal;这两句在运行的时候总是出现问题"你可以在mainform.onshow之后再释放启动画面;
    sleep(2000)仅是延迟一下显示时间可以不用;
    Login.FrmLogin.ShowModal;在Project 的文件中要一条
    Application.CreateForm(TFrmLogin, FrmLogin);
    修改后:Frmstar为启动画面;
    begin
      Application.Initialize;
      FrmStart:=TFrmStart.Create(FrmStart);//启动画面创建
      FrmStart.Show;//显示启动画面
      FrmStart.Update;
     // sleep(2000);//显示画面2秒钟,如机器速度较慢或程序加载时间长也可不用
      try
      Application.CreateForm(TFrmMain, FrmMain);
      Application.CreateForm(TFrmLogin, FrmLogin);
      except     Frmstart.Hide;//隐藏画面
         FrmStart.Free;//释放启动画面
      end;
      Application.Run;
    end.
    在FrmMain的OnShow事件中弹出登录对话框
        try
         Login.FrmLogin.ShowModal;//FrmLoing为登录对话框
        finally
         Frmstart.Hide;//隐藏画面
         FrmStart.Free;//释放启动画面
        end;我原来的程序按前述方法在登录时是可以看见启动画面的,虽然已释放但屏幕上还有图像
    上述修改方法也可一试