您可能希望尽早显示启动画面,因此理想情况下应该在初始化阶段完成,然后仅在 MainForm 准备好接管时才会消失。
这正是我们在应用程序中所做的,我们将 About 对话框重新用作启动屏幕,然后在 MainForm 窃取焦点时释放它。
在 dpr 中,在所需的 VCL/RTL 单元之后的 uses 子句中尽可能高:
f_adtDlgAbout in 'f_adtDlgAbout.pas' {frmDlgAbout}, // ASAP to be used as a Splash screen
关于单位(仅供参考,FormStyle
是fsStayOnTop
和Position
是poScreenCenter
):
unit f_adtDlgAbout;
[...]
type
TfrmDlgAbout = class(TForm)
[...]
procedure TfrmDlgAbout.SplashFormDeactivate(Sender: TObject);
begin
Release;
end;
initialization
// Use it as a Splash screen
with TfrmDlgAbout.Create(nil) do begin
AlphaBlend := True;
AlphaBlendValue := 208;
BorderStyle := bsNone;
btnOK.Visible := False;
OnDeactivate := SplashFormDeactivate;
Show;
Update;
end;
end.