使用Delphi 7實現Splash窗體

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章