在delphi中如何实现splash的功能?(50分)

  • 主题发起人 主题发起人 liuzr
  • 开始时间 开始时间
L

liuzr

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在delphi中如何实现在一个程序启动时,出现一个预先设置好的图像,
在这里边可以显示一些有关的东西。就像delphi启动时,首先出现的那个图形。(在c++中好象叫做splash类的一个东西)
 
呵呵,太多了,你以“启动窗口”检索一下有很多答案……

http://wjiachun.edu.chinaren.com/delphi/01.htm
 
DELPHI启动画面
in your *.dbr files do it
begin
{Create a splash form}
splash:=Tsplash.Create(self);
splash.Show;
splash.update
Application.Initialize;
Application.CreateForm(..)
.
.
.
splash.close;
splash.free;
Application.Run
end;
 
Kill Night有一小点毛病
把Application.Run放到splash.close前会比较好
 
first, you can add a new form to your application. on this new
form (named imageForm) you can put everything you want.
add following codes to your project.pas

imageForm:=TimageForm.creat(Application);
imageForm.show;
imageForm.update;
application.initialize;
....
...
imageform.hide;
imggeform.free;
application.run;

i think that is ok. if there is something wrong. please write to me!
 
注意在options中将Splash窗体设为Available,
Application.Initialize;
SplashForm:=TSplashForm.Create(nil);//注意不要用self,可能会出现问题
SplashForm.Show;
SplashForm.Update;
.
.
.
SplashForm.Free;
Application.Run;
 
我发明了一种.用Ttimer控件的方法.主窗体上放一个ttimer控件,设定好时间,
当过了时间之后,把它的enable设为false;,然后就把主窗体hide掉,再现示
第二个窗体了
 
SPLASH.BORDERSTELY=NONE;


splash:=Tsplash.Create(self);
splash.Show;
splash.update
Application.Initialize;
Application.CreateForm(..)
.
.
.
Application.Run;
splash.free


 
很感激各位大虾的指教,在此向各位慎重地BOW,由于分值不多,分配可能太少,希望各位见谅。

谢谢各位
2000.7.2
 
inprise corporation 教材的源代码

..
begin
appolication.initalize;
frmsplash:=tfrmsplash.create(application);
frmsplash.show;
frmsplash.refresh;
application.createform(tmainfrm,mainfrm);
...
frmsplash.free;
application.run;
end.
 
有一个问题我不明白,光是加Splash有啥用!
我也想在程序中加入这项功能(在B/S结构的程序中程序的初始化要
花很长时间,我想让Splash来掩盖这个过程,当程序初始化结束时Splash
自动关闭),不知如何实现,望高人指点.
 
请问yihui同志,哪儿可以download《inprise corporation 教材》
 
懒得说了,加splash就是tangcheng说的目的了,可以到初始化结束以后
再关闭splash嘛
 
to tangcheng:
在Application.Run;前用SPLASH窗体。CLOSE就可以了嘛。
 
自己做个form不就是了嘛, 可以在form上放些东西, 比如图片啦, progressbar之类
的, 放progressbar的话还要放一个timer控件, 隔三岔五地动一动, 把鼠标
设成crHourGlass或者crAppStart, 这样别人就知道你的程序在运行了. ^_^

关闭该窗口可以在主form的create中进行, 也可以先create主form, 主form的
visible:=false; 创建好后执行splashform.hide; mainform.show;

是否要free根据各自的需要, 如果以后还要用的, 就不用free了.

放在project source中的话, 一定要在application.run之前关闭或隐藏
splash窗口, 否则直到程序运行中这个窗口始终都在, 多难看呀. ^_*
 
多人接受答案了。
 
后退
顶部