怎么设计启动窗口(100分)

  • 主题发起人 主题发起人 千层血
  • 开始时间 开始时间

千层血

Unregistered / Unconfirmed
GUEST, unregistred user!
大家知道在启动 delphi的时候会有一个启动的界面,当delphi完全启动好的时候
才显示编辑的窗口,我想用delphi也做一个类似的效果,----程序一启动显示一个
“程序正在启动..........”的窗口,当所有的窗体,控件,以及所有的 OnCreate
,OnShow都运行完毕的时候,启动截面自己消失,显示主窗体.
请各位大侠帮我出出注意,最好说的详细点
 
试试下面的.
try
FrmLogo:=TFrmLogo.Create(Application);
FrmLogo.Show;
FrmLogo.Update;
Application.CreateForm(TPDM, PDM);//这是数据模块,若你还有其它的表单,也加在这儿.
finally
FrmLogo.Free;
end;
 
在哪里试?写到什么事件?
 
写到项目文件中.
即.DPR中.
 
在你的工程文件dpr中写代码
Application.Initialize;
form2:=Tform2.Create(application);//form2为你自己定义的无边框的启动界面
form2.Show;
form2.Update;
Application.CreateForm(TForm1, Form1);
sleep(500);
form2.Hide;
form2.Free;
Application.Run;
 
Project 系统菜单中,选择View source
在Application.Initialize;
之后加入
try
FrmStartUp:=TFrmStartUp.Create(Application);
FrmStartUp.Show;
FrmStartUp.Update;
Application.CreateForm(TForm1, Form1);
. //此间是你定义的Form,应该是系统自动生成的。
.
.
Application.CreateForm(TFormN, FormN);
finally
FrmStartUp.Free;
Application.Run;
就行了,这是比较简单的方法。
 
呵呵,不要说看不到工程文件的代码哦[:D]
 
首先设计一个精美的窗口,将form属性bordericons内的每项设置都设成false,borderstyle
设成bssingle,然后动态建立你的窗口,显示窗口的程序写在project soure内,并且要放在
最前面,
program project1;

uses
forms,
unit1 in 'unit1.pas'{form1},
unit2 in 'unit2.pas'(form2},
unit3 in 'unit3.pas'{form3};
{$R *.res}

begin
application.initialize;
try
//动态打开窗口
form2:=tform2.create(application);
form2.show;
form2.update;
//项目自动打开一般窗口
application.createform(Tform1,form1);
application.createform(Tform3,form3);
finally
form2.free;
end;
application.run;
end.
 
大家都是这方面的高手!!!!
 
哇,高明!
如果用timer,不知道能否做到这个效果呢???
 
简单,参考如下.dpr文件
{$R *.RES}

var
W: Integer;
begin
Application.Initialize;
W := GetTickCount;
Application.CreateForm(TStartForm, StartForm);
StartForm.Show;
StartForm.Update;//启动窗口
while (Integer(GetTickCount) - W) < 5000 do;//显示5秒
StartForm.Hide;
StartForm.Free;
MainForm.ShowModal;//显示主窗口
Application.Run;
end.
 
呵呵 来迟了 有分么
 
大家好象忽略了一点, 就是在程序工程选项(project/options/forms)里将启动窗口从
自动创建(Auto-create form)里筛选出来,然后再在工程文件(Project/View souce)project.dpr
里加入代码(假设启动窗口名为FORM_SP则
Application.Initialinze; //这是已有的语句
FORM_SP:=TForm_sp.create(application); //在这个位置动态创建启动窗口
Form_sp.show;//显示启动窗口
Form_sp.update;//更新启动窗口
Application.createform(...
...); //这些是已有的语句,创建Auto-create 窗口
form_sp.free;//当所有自动创建的窗口创建完毕后,释放fORM_SP
Application.run;//这是已有的语句,开始运行主程序窗口
 
多人接受答案了。
 
后退
顶部