delphi启动界面疑问 启动画面了 但是画面消失不掉

delphi启动界面疑问 启动画面了 但是画面消失不掉,第1张

Application.Initialize

Form2:=TForm2.Create(Application)//创建启动画面窗口

Form2.Show//显示启动窗口

Form2.Update//刷新窗口

Application.CreateForm(TForm1, Form1)

Application.CreateForm(TForm2, Form2)

Sleep(3000)//启动窗口延时3秒钟

Form2.Hide//隐藏启动窗口

Form2.Free//释放启动窗口

form1.show

Application.Run//运行工程

end.

第一步,打开Delphi XE7开发环境,选择菜单工具栏中[Project]-->[Options...]进入项目配置。

第二步,进行项目配置对话框后,首先在左边框中选中[Application]选项。

第三步,在这个对话框右边的上半部分主要是程序的应用小图标的设置参数,我们可以不用管它先。

第四步,这时我们必须要选上Include Splash Image,否则移动应用程序启动时就不会有这个splash界面了。

第五步,选中[Splash tile mode]的下拉框,这是Splash界面中的标题模式, 一般选择不显示标题的。这个选项作一下解释:

1. disabled -按图片尺寸大小显示,显示位置有Splash Gravity设置

2. clamp - 图形边框适应屏幕大小

3. repeat - 屏幕水平,竖立方向重复填充满Splash Image

4. mirror - 跟repeat差不多,图片是镜像的。

第六步,选中[Splash Gravity]的下拉框,这个选项只有当Splash Title Mode为Disable时有效。主要是设置比屏幕小的图片在屏幕中的位置,一般选择居中效果。

第七步,这时我们就可以看到启动时splash界面的预览界面了

程序的启动界面是为了让需要较长时间的程序启动时,避免用户错误的以为程序没有打开或者没有响应,而设计的一个“小甜点”,但许多人设计时,却忽略了根本,反而将启动界面用Sleep等延时方法,强制在主屏上显示一段时间,以增加“存在感”,这显然是违背启动界面设计初衷的。

那么,这个启动界面,我们应该在什么时候创建和显示呢?这就需要我们从设计的初衷开始,讨论下启动界面的生存周期问题。

首先,启动界面应在程序一启动时就创建。在Delphi或C++Builder程序中,它应该在TApplication对象创建之后,由于我们一般不推荐修改项目的入口源码,所以我个人推荐是在主窗体的构造函数或OnCreate事件中创建启动画面。

其次,启动界面在主窗口初始化完成后,主窗体显示之前关闭。而不要故意加入Sleep一类的函数来延长用户的等待时间,除非你将启动界面当成是电视广告,否则没必要耽误用户宝贵的时间。

还有一个问题,如果程序很快就初始化完成,启动画面会一闪而过,怎么办?实际上这本身不是问题,毕竟没人不乐意程序快点进入,唯一需要解决的问题就是是否需要显示画面的问题。这里我个人一般推荐使用定时器来延迟显示启动画面,如果启动进程已经超过50%初始化完成,而只用了小于500ms的时间,那我个人认为完全没必要显示一个启动界面来显示自己的存在。

其实,这里牵涉到另一个问题,就是你的程序是否需要加入一个启动界面。如果你的程序的启动没有多少需要初始化的东西,那个人感觉就完全没有必要。启动界面的设计初衷是为了增强用户体验,避免用户在等待程序启动过程中发生错误的认知,如果你很快启动完成,何必加入没必要的东西。

我们接下来讨论下,启动界面都要做些什么?

(1)、一幅制作精美的图片,给用户美好的印象。甚至可以在图片上加上一些 *** 作提示一类实用的技巧啥的;

(2)、应用程序初始化进度提示,以便告诉用户我还活着,不要着急;

至于其它的东西,那不属于启动界面应该 *** 心的事,就交给别的地方去做吧。

启动界面一般也是一个普通的窗体,不同的是我们一般会将其设计为无边的窗口,或者标新立异一点设计成不规则形状的窗口(设置一个背景图片,然后设置TransparentColor就可以实现),然后注意在显示时是用Show而不是ShowModal来显示,初学者容易卡在这一个小地方,提示一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8130035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存