Delphi 7简单Splash

为了提示一些信息和美观而在程序开始运行时设置了一个Splash窗体。
转自,具体的实现方法如下:

  1. 打开D7新建一个Application,将默认的窗体Form1的Name属性改为frmMain,该窗体为应用程序的主窗体。
  2. 菜单New>Form,将新建的窗体的Name属性改为frmSplash,BorderStyle属性改为bsNone,展开 BorderIcons属性将所有的Icons设置为False,将Caption属性中的窗体标题清空,Position属性改为 poScreenCenter,该窗体即Splash窗体。
  3. 菜单Project>Options,在Forms选项卡中将Main form设置为frmMain,将frmSplash从左侧的Auto-create forms移至右侧的Available forms中,单击OK保存设置。
  4. 菜单File>Save All,将保存frmMain窗体中代码的Unit1.pas存为Main.pas,将保存Splash窗体中的代码的Unit2.pas存为Splash.pas,工程文件Project1.dpr存为SplashTest.dpr。
  5. 菜单Project>View Source,在Code Editor中开始编写代码。代码如下:
program SplashTest;

uses
Forms,
SysUtils, //注意引用SysUtils单元,因为延时所用的Sleep过程在该单元中
Main in ‘Main.pas’ {frmMain},
Splash in ‘Splash.pas’ {frmSplash};

{$R *.res}

begin
Application.Initialize;

frmSplash:=TfrmSplash.Create(frmSplash); //动态创建frmSplash窗体
frmSplash.Show; //显示frmSplash窗体
frmSplash.Update;
Sleep(2000); //延时2秒

Application.CreateForm(TfrmMain, frmMain);

frmSplash.Hide; //隐藏frmSplash窗体
frmSplash.Free; //释放frmSplash窗体

Application.Run;
end.

编写完毕后,按下F9运行这个工程即可。会看见Splash窗体首先出现,延时过后Splash窗体消失,显示frmMain窗体。
小结:

  1. 这里的关键是frmSplash不是应用程序运行时自动创建的,而是通过动态创建生成的,因此首先要将frmSplash从Auto-create forms移至Available forms中,其次要手工编写代码来完成frmSplash窗体的创建和释放。
  2. 如果不使用Sleep过程来延时的话,frmSplash窗体也是很快的一闪而过,不能起到提示信息的作用,因此必须引用SysUtils单元使用其中的Sleep过程来延时。
# delphi  

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×