【发布时间】:2010-11-10 22:40:34
【问题描述】:
我编写了一个闪入、显示一段时间然后淡出的启动表单。淡入淡出是用一个定时器来实现的,它也关闭表单。它工作正常。
我以模态方式显示表单,但我怀疑主表单直到启动表单关闭后才开始构建和显示。
然后我想,如果我以非模态方式显示表单并使用 fsStayOnTop(即 SplashForm.Show 而不是 SplashForm.ShowModal),那么一旦显示启动表单,主表单就可以在启动表单后面初始化,这意味着启动画面关闭时,应用程序已准备就绪。
但我发现计时器事件不再触发。 TApplication.OnIdle 事件也没有。什么给了?
【问题讨论】:
-
不要
fsStayOnTop;人们想在您的应用加载时使用其他应用。没有应用程序不是那么特别,它应该防止这种情况! (The Old New Thing 很好地解释了没有应用程序是特别的:blogs.msdn.com/b/oldnewthing/archive/2009/02/20/9435239.aspx) -
我想这是确保启动画面不会被主窗体隐藏的一种生硬的方式,这会破坏目的。另一方面,我不希望主窗体放在其他正在运行的应用程序后面,那么如何将启动窗体保持在应用程序主窗口的前面?
标签: delphi timer splash-screen non-modal