我的MDI程序。这样写
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TAboutBox, AboutBox);
因为MDI是先显示MainForm后才开始创建Form1,Form2,AboutBox的,所以我想在执行Application.CreateForm(TMainForm, MainForm);后让MainForm隐含,知道创建所有的子Form后才显示,该怎么做?如果用MainForm.Hide的话,屏幕会闪一下的,有其他更好的办法呢?
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TAboutBox, AboutBox);
因为MDI是先显示MainForm后才开始创建Form1,Form2,AboutBox的,所以我想在执行Application.CreateForm(TMainForm, MainForm);后让MainForm隐含,知道创建所有的子Form后才显示,该怎么做?如果用MainForm.Hide的话,屏幕会闪一下的,有其他更好的办法呢?
它就不会显示出来,所以不存在屏幕会闪一下的情况。 Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TAboutBox, AboutBox);
.......
MainForm.Show;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
application.ShowMainForm:=false;//隐藏主窗体
........................
既然是有系统自动创建窗体,又设置好了主窗口,不应该存在你所说的问题啊!
to ssl2000(大宋) :你的办法也试了,可是还是不行啊
Application.Initialize;
Application.ShowMainForm:=false; //加上这一句,要放在所有窗体创建语句前面
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TAboutBox, AboutBox);
MainForm.Show; //都创建完了,再显示主Form
Application.Run;Win2000 + Delphi6 测试通过