我想做一个闪现窗口也就是说当程序启动时有一个窗口出现,过三秒中后窗口消失,这个窗口的出现我用的是AnimateWindow(self.Handle,2000,AW_Activate+AW_Center),窗口中粘有一个图片,可是启动时图片和窗口总是不能同步,请高手指教我应该怎样处理这个问题,能解决者给满分!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    加一句话试试
     application.ProcessMessages ;
      

  2.   

    你的application在show窗口出来的时候sleep(10),等待0.01秒,这样让windows有时间刷新你的窗口,然后再作其他事情。
      

  3.   

    以上的做法我都试过了,都不行,我听说在WM_Paint中作点文章,但我不知道怎样去做,请高手指教,谢谢!!!!
      

  4.   

    比如说用timage控间,
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      image1.Picture.LoadFromFile('D:\imagefile.jpg');
    end;
      

  5.   

    最好不要动态加载图片,预先把图片编辑到你的过程中,这样会连惯一些
    假如你要做Splash窗口最好不要放在form的show事件中,应该放在application中
      

  6.   

    Application.Initialize;
      splashfrm :=Tsplashfrm.Create(Application) ;//闪现窗口
      try
        splashfrm.Show ;//显示
        splashfrm.Refresh ;//刷新
        Application.Title := '应用程序名称';
        Application.CreateForm(TDm, Dm); //数据模块
        //sleep(3000); //可以sleep 3秒钟
        Splashfrm.Hide ;//隐藏
        Application.ProcessMessages ;
        Application.CreateForm(TFmMain, FmMain); //主窗体
      finally
        SplashFrm.Free ;
        SplashFrm := nil ;
      end ;
      Application.Run;
      

  7.   

    赞成: BlueDreaming(蓝色海岸) 的方法。偶也是这样的