程序运行时先把副窗体Shou出来~~等他关闭后在Show主窗体
在你的工程文件(*.dpr)里写~~
Application.Initialize;
Form1:=TForm1.Create(Application);
Form1.ShowModal;
Form1.Free;
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
在你的工程文件(*.dpr)里写~~
Application.Initialize;
Form1:=TForm1.Create(Application);
Form1.ShowModal;
Form1.Free;
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
//**********************************
Application.ShowMainForm := False;
Form2.ShowModal;//至于Form2的自动关闭是另外一回事了(比如通过Timer来关闭)。
Application.ShowMainForm := True;
//**********************************
Application.Run;
end.
我是菜鸟,请大虾多多指教!
实在不想动工程文件的话,可以在MainForm.OnCreate里加上Application.ShowMainForm := False;(光Hide是没用的,这是主窗体的性质决定的,你看看TApplication.Run的源码就知道了)。把Form2.Visible设为True,然后在Form2.OnClose里写上Application.ShowMainForm := True;和MainForm.Show;说实话还是写在工程文件里清楚。
你可用
application.showmainform := false;
application.showmainfomr := ture;如果是spalshform,另用法子
to;dq(独轻)
为啥是showmodal呢?我试过show,就两个窗体一起显示了。为啥?
Application.ShowMainForm := True;
和MainForm.Show;
为啥还要加上MainForm.Show呢?
Application.ShowMainForm := True;
这个不已经是显示出来了吗?
application.title:='';还可隐藏呢!
加上Application.ShowMainForm := True是有用的。
我试过Application.ShowMainForm := false;以后做其它事,若不加这句就显示不出主窗体出来了。你有空试试看。好吗?
spaform.Show;
spaform.Update;
// StartTime := now;
// sleep(1000);
Application.CreateForm(Tmainform, mainform);
spaform.Hide ;
spaform.free;
Application.Run;
此段代码放在project.dpr中,其中spaform为您要显示的splash窗体,mainform为主窗体,
加注释的两段代码为定义显示SPALSH窗体的时间,可不用
var
form2:Tform2;
begin
form2:=Tform2.create(self);
with form2 do
try
showmodal;
update;
Timer1.Enabled:=true;
//sleep(5000);
application.ProcessMessages;
finally
free;
end;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
close;
//applicaiton.Terminate;
timer1.Enabled:=false;
end;2种情况:
1)timer为啥没用?只有用sleep()。
2)在sleep的情况下,为啥用showmodal的话,要手动关了form2后再等5秒才显示form1而用 show的话5秒后form2会自动关掉,form1会自动显示。
而在timer1的情况下,用showmodal的话,要手动关了form2后才显示form1,timer1里的代码好像程序并不执行。而用show的话。form2只闪了闪就显示form1了。为啥?上面的大虾能在回答吗?
在此谢过了!