最近幫同學用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過程來延時。