如何在应用程序刚开始时显示另一个窗口?(50分)

  • 主题发起人 主题发起人 ghifi37
  • 开始时间 开始时间
G

ghifi37

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个程序需要在主窗口刚Create时,建立另一个窗口。
Form2:= TForma2.Create(Self);
Form1.Enabled:= false;
Form2.Show;

但,Form2是建立起来了,就是显示不出来。Form1仍然压在Form2上。
如果这时切换到另一个程序,再切换过来,就正常了。

请问是什么原因?
如何解决?
 
; form1.hide .....
 
把建立的Form2放到program中吧!
 
the reason is Form1 has the input Focus. do it like this:
Form2.SetFocus;
 
不就是splash screen吗?
在你的*.dpr文件里面
begin
Application.Initialize;
fmsplash := TfmSplash.Create(Application);
fmsplash.Show;
fmsplash.Update;
Application.Title := 'TESt';
Application.CreateForm(TLogoAppForm, LogoAppForm);
Application.CreateForm(TDM, DM);
Application.CreateForm(TpasswdDLG, passwdDLG);
fmsplash.Update;
sleep(3000);
fmsplash.Free;
Application.Run;
end.
 
这些我都试过了,就是没用。
原因估计是Application.Run又把Form1给显示出来了?是这样的吗?
因为如果把前面的代码放在其他地方就能正常了。
 
你要改就在项目文件中改好了,
主Form就是在哪里得到创建的。
你也在哪儿创建你要的哪个Form
 
在form2.show;后面加一个:
form2.Update;
试试看.....
 
按Splash Screen的方面做啊。网上有很多介绍了。
什么技巧之类(如HubDog未经证实的葵花宝典)中都有,
 
多谢诸位!但诸位都没有说到要害。
我查了一下Application.Run的源代码,发现是这句话搞的鬼:
FMainForm.Visible := True;
改为:
if ParamCount = 0 then FMainForm.Visible := True;
重新编译就好了。
 
多人接受答案了。
 
后退
顶部