怎样制作一个启动画面(100分)

  • 主题发起人 主题发起人 banker78
  • 开始时间 开始时间
B

banker78

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好!
怎样制作一个启动画面,在工程文件应如何设置?
谢谢!!!
 
问题:怎样制作一个启动画面 ( 积分:0, 回复:1, 阅读:3 )
分类:编程心得 ( 版主:雁孤行, wrench )
来自:banker78, 时间:2002-3-20 14:03:00, ID:993144 [显示:小字体 | 大字体]
大家好!
请问怎样制作一个启动画面,在的工程文件理应如何设置?
谢谢!

版主功能: 编辑 | 加推荐值 | 减推荐值 | 进黑名单 | 出黑名单

来自:taozhiyu, 时间:2002-3-20 14:04:00, ID:993146 | 编辑
create splash
init ur project here
free splash


 
以后不要发2次哦!!!记得!
 
:::程序启动画面:::
在启动程序之前出现启动画面的方法多得是,但有些是调用“记时器”来延时的,
这种方法有时拖慢了程序的启动速度,下面介绍又一方法,给大家参考对比一下。
  建一个启动封面窗体,假设为Form2,先设置好BorderIcons、BorderStyle、
FormStyle、Position,接着在窗体上加入图片框、文本框,设置好后在菜单里选Project里的Options,把Form2从Auto-create forms里转到Available forms。再接着就是按Ctrl+F12键,选Project1,出现工程单元,其内容如下
...
Application.CreateForm(TForm1, Form1);
Application.Run;
..
  在Application.CreateForm(TForm1, Form1); 前加入如下语句:
form2:=tform2.create(application);
form2.Show;
form2.Update;
  然后在Application.Run;前面加入如下语句:
form2.hide;
form2.free;
 
那主窗体中的GetTickTime,好像是这么写的,具体有什么意思?
 
同意free_knight的
 
这个问题找一下就可以解决的.
 
Application.Initialize;
form1:=tform.Create(application);//form1非自动建立
form1.Show;
form1.Update;
Application.CreateForm(Tfrmkey, frmkey);
……………………………………
form1.hide;
form1.Free;
Application.run;
 
同意free_knight的。
 
摘自《葵花宝典》:
Delphi在启动时会首先显示一个图片,等到将所有的初始化工作全做完后该图片自动消失。为达到这一效果,建立一个示例程序。
  建立一个新Application,包括两个Form,其中Form1为主窗口,Form2为要显示的图片Form,不妨将Form2的边框类型设为无,同时在Form2中加入一个TImage类的构件Image1,Align属性为Client,AutoSize设为True,然后为Image1指定任意一个图片。
  选Project1/Options菜单,点取Application页,将Form2从左边列表框中移到右边列表框,这样Project1.dpr源程序就不会生成建立Form2的代码。下一步是手工修改Project1.DPR源代码,因为Form2应该在Form1之前建立并显示,但不能使用Application的CreateForm方法(第一个用此方法建立的Form被认为是主Form),具体的代码如下,当运行至Application.CreateForm(...)一行时Form2已经建立并显示出来,然后该行建立主Form并激发主Form的OnCreate事件,你可以在OnCreate事件处理过程中完成你的初始化工作。

Project1.dpr program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
Application.Initialize; {程序初始化}
Form2 := TForm2.Create(Application); {建立徽标Form}
Form2.Show; {显示徽标Form}
Form2.Update; {重画徽标Form,确保其中的图片被显示出来}
Application.CreateForm(TForm1, Form1); {建立主Form}
Form2.Hide; {隐藏徽标Form,使主Form显示出来}
Form2.Free; {释放徽标Form占用的资源}
Application.Run; {程序运行}
end.


  在主Form的OnCreate事件处理过程中我们用一些延时代码来模拟耗时的初始化工作,这样可以更清楚地看到Form2显示并停留数秒,直到主Form的OnCreate事件处理过程执行完毕后自动消失。

Unit1.pas unit unit1;

interface

uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, ExtCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ OnCreate事件处理过程,延时五秒 }
procedure TForm1.FormCreate(Sender: TObject);
var
CurrTime: TSystemTime;
Sec: Word;
begin
GetSystemTime(CurrTime);
Sec := CurrTime.wSecond + 5;
while Sec>CurrTime.wSecond do
GetSystemTime(CurrTime);
end;

end.


  执行这个程序,会看到令人满意的效果:启动画面成功地显示出来,而且当鼠标移至画面上时会自动变成沙漏形状,五秒钟后画面消失,主窗口出现。
 
后退
顶部