background image

  

5、保存这个工程。当 Delphi 提示读者提供单元文件名时,要确信当前目录为正确的目录。为 SplashForm 的单

元文件名输入

Splash。 

  

6、将 SplashForm 的 Enabled 属性设置为 False。这里不想让用户能够给窗口提供键盘和鼠标命令,这是极少见

的情况之一。在这个例子中

,我们想让程序对 SplashForm 的显示拥有完全的控制权。 

  

7、由于窗口没有轮廓,所以从 Additional 组件类中插入一个 Bevel 组件对象。这有助于定义窗口的边缘。将

Bevel1 的 Align 属性设置为 alClient。同时,将对象的 Shape 属性改变为 bsFrame,将其 Style 属性改变为 bsRaised。这
些值由使用者来确定。

 

  

8、在 SplashForm 中插入想使用的组件,在这里不要插入任何按钮或者其他相互作用的控件。应用程序本身显

示和去除启动溅射对话框。

 

  

9、选择 Project 菜单。高亮显示 Splash 工程个弹出式菜单。选择 Options 命令。在所产生的 Project Options 对话

框中

,选取 Forms 页标签。注意,MainForm 和 SplashForm 位于自动创建的窗体列表中。高亮显示每个窗体并单击鼠

标右按钮来将其移动到

Available 窗体。所有的 Delphi 窗体在运行时都是在内存中自动创建的,这要消耗内存和系

统资源。在这样的一个案例中

,程序是在运行时创建窗体的,读者应该从自动创建的列表中删除窗体。关闭

ProjectOptions 窗口。 
10、接下来,修改工程的源代码,以便在显示主窗口之前显示溅射对话框。这里需要在工程文件中插入语句,以便与
Splash.dpr 工程文件相匹配。工程源代码如下:
program Project3; 
  

uses 

  

 Forms, 

  

 main in ‘main.pas‘ {MainForm}, 

  

 splash in ‘splash.pas‘ {SplashForm}; 

  

{$R *.RES} 

  

begin 

  

 SplashForm:=TSplashForm.Create(Application); 

  

 SplashForm.Show; 

  

 SplashForm.Update; 

  

 Application.CreateForm(TMainForm,MainForm); 

  

 SplashForm.Close; 

  

 Application.Run; 

  

end.  

  

11、如果这时编译和运行程序,它就非常快速地显示和去除启动溅射对话框,以至用户可能没机会见到它。为了

强迫对话框保持几秒钟的可见时间

,请选取程序的 MainForm。为窗体的 OnCreate 命令创建一个处理器。在关键词

的前面添加一个名为

stopTime 的长整型变量。在 begin 和 end 之间插入两个语句:一个为对 Windows GetTickCount

函数的调用。来将

stopTime 设置为 Windows 已在运行的秒数;另一个语句为 while 语句,这个语句另外延迟 2 秒钟。

程序清单如下

:

 

unit main; 

  

interface 

  

uses 

  

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 

  

 StdCtrls; 

  

type 

  

 TMainForm = class(TForm) 

    

Exitbutton: TButton; 

    

procedure ExitbuttonClick(Sender: TObject); 

    

procedure FormCreate(Sender: TObject);