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