我试图让我的应用程序加载他的数据库时动画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