delphi通過窗口的close和窗口的show來顯示和關閉窗口,需要註意主窗口關閉後其它所有窗口都會被關閉,其它窗口show之前如果是動態創建的窗口,需使用代碼先創建完成後再show啟動窗體。
下面是壹個歡迎窗口的示例:
登陸窗體命名為:loginform.找到工程文件(Project?->?View?Source),找到如下代碼部分:
begin
Application.Initialize;
Application.CreateForm(TForm1,?Form1);
Application.CreateForm(Tloginform,?loginform);
Application.Run;//到此,程序執行
end.
登陸窗體可以設置成在程序執行前創建:
begin
Application.Initialize;//初始化
loginform:=tloginform.Create(application);//動態創建啟動窗體
loginform.Show;//顯示
loginform.Update;
sleep(2000);//系統延時2秒
loginform.Hide;//2秒後啟動窗體隱藏
Application.CreateForm(TForm1,?Form1);
Application.CreateForm(Tloginform,?loginform);
loginform.Free;//釋放啟動窗體
Application.Run;
end.
制作啟動(歡迎)窗體的另壹種方法(轉載...當然自己也使用過~~):
設置封面窗體屬性使之符合啟動封面要求。請修改下列封面窗體屬性:
Position?=?PoscreenCenter
//運行時居於屏幕中央
Autosize?=?true
//自動適應Image控件,使啟動圖片完整顯示
BorderStyle?=?bsnone
//窗口無標題欄及最大化、最小化及關閉按鈕和邊框
Name?=?splashform
程序代碼解析?選擇主菜單下的Project/View?Scource?命令,打開這個項目的項目文件。根據下列代碼進行修改。
program?Project2;
uses
Forms,Controls,
Unit1?in?'Unit1.pas'?{MainForm},
Unit2?in?'Unit2.pas'?{SplashForm};
{$R?*.res}
begin
Application.Initialize;
SplashForm?:=TSplashForm.Create(Application);
//創建splash窗體
SplashForm.ShowModal;
//以模式對話框的方式顯示splash窗體
if?(SplashForm.ModalResult?=?mrOK)?then
//如果定時時間到或單擊了窗體上的圖形
begin
Application.Title?:=?'測試Splash窗體';
//設置應用程序的標題
Application.CreateForm(TMainForm,?MainForm);
//自動方式創建的主窗體
SplashForm.Hide;
//將啟動封面窗體隱藏
SplashForm.Release;
//將啟動封面窗體清除
Application.Run;
end;
end.
隨後在splash窗體上編寫下列事件代碼
procedure?TSplashForm.Timer1Timer(Sender:?TObject);
begin
SplashForm.ModalResult:=?mrOK;
//定時時刻到後的事件處理程序
end;
procedure?TSplashForm.Image1Click(Sender:?TObject);
begin
SplashForm.ModalResult:=?mrOK;
//單擊splash窗體上圖像的事件處理程序?,當用戶希望可以單擊啟動窗體的圖片,而不用等待就可以進入//主窗體時,可以加上這壹條件
end;