使用Delphi 7实现Splash窗体

时间:2021-09-07 17:33:45

最近帮同学用D7做了一个很小的数据库管理系统,为了提示一些信息和美观而在程序开始运行时设置了一个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过程来延时。

相关文章