我想在登录界面(LoginForm)之前加一个启动画面(SplashForm),登录界面(LoginForm)之后是主窗口(MainForm),我在SplashForm上就放了一个image控件并且加载了一副bmp图像,但是在启动的时候只能看见窗口,看不见图像,我开始以为是图像控件的问题,可是当我只放了一个Label控件时也是只能看到窗体而看不到文字,但是当我把登录界面(LoginForm)去掉之后就一切正常,请问这是怎么回事,请大家指教,谢谢!
源码如下:
procedure TMainForm.FormShow;
begin
  Application.CreateForm(TSplashForm,SplashForm);
  SplashForm.Show;  
  Application.CreateForm(TLoginForm,LoginForm); //当LoginForm显示的时候给SplashForm发WM_CLOSE消息,因为
                                                       //LoginForm在开始的时候要寻找服务器,这需要一段时间。
  LoginForm.ShowModal;
  LoginForm.Free;
.....end;

解决方案 »

  1.   

    在SplashForm窗体中的show事件里,加上sleep(500),我觉得是程序太快的缘故,你不防试试!
      

  2.   

    把SplashForm(要作为摸态窗体)的创建代码写到project文件里作为
    再SplashForm里加一个定时器,时间一到就"SplashForm.让showmodal:=mrok";
      

  3.   

        这个我觉的不是程序快慢的问题,因为我专门写了一段让登录窗口(LoginForm)运行很长时间的代码,当LoginForm一ShowModal的时候,SplashForm的图像就立刻显示出来,在LoginForm出来之前,无论是拖动窗口还是改变SplashForm的大小,图像都不会显示。
        往project里写创建代码我也试过,但是没有让"SplashForm.让showmodal:=mrok",这个方法我再试试,谢谢yhyhai