我試圖讓我的應用程序加載他的數據庫時動畫splashscreen。 我已經創建了一個splashscreen,但是我想讓圖像在數據庫轉換時從左向右「移動」。一直在尋找了一段時間了,但所有我能找到的是一個關於進度條...創建動畫splashscreen德爾福7
這裏是我的代碼:
SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
Application.Initialize;
SplashScreen.Update;
SplashScreen.lblStatus.Caption:='Loading...';
SplashScreen.Update;
SplashScreen.lblStatus.Caption:='Updating database...';
SplashScreen.Update;
Application.Initialize;
Application.CreateForm(TfmMain, fmMain);
Sleep(1000);
Application.CreateForm(TfmPrefs, fmPrefs);
Application.CreateForm(TfmCode, fmCode);
Application.CreateForm(TfmEmps, fmEmps);
Application.CreateForm(TfmRest, fmRest);
Application.ShowMainForm:=FALSE;
SplashScreen.Hide;
SplashScreen.Free;
Application.Run;
在我splashscrren形式,我創建5次重複相同的圖像,並同時主創建表格,我希望圖像可見並且不可見,例如:
while my db loads... begin
Splashscreen.Image1.Visible:=FALSE;
SplashScreen.Update;
Sleep(25);
SplashScreen.Image1.Visible:=FALSE;
SplashScreen.Update;
SplashScreen.Image2.Visible:=TRUE;....
等等!
有什麼想法?
你的問題到底是什麼?至少在調用Sleep的過程中,因爲您正在執行主線程中的所有內容,因此您的代碼片段中的'Sleep'會暫停整個應用程序(包括'while db db loads'代碼)。 IOW,當你期望它更新圖像顯示時,通過暫停線程來停止你的應用程序。 –
正如Ken建議的原文:) - 嗯,你爲什麼不嘗試使用GIF圖像呢?要在您的表單上顯示動畫GIF,您可以考慮使用TGifImage,可從以下位置訪問:http://www.tolderlund.eu/delphi/ – Pateman
頂級片段中的SLeep(1000)僅用於顯示我的splashscreen並將被移除當應用程序完成時......它在那裏讓我真正看到splashscreen。第二個是在那裏,以便圖像保持至少25毫秒,以便它們不會顯示爲托盤。 – Gab