Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2300|回复: 5

为什么Form1没有隐藏起来

[复制链接]

该用户从未签到

发表于 2012-10-17 00:11:14 | 显示全部楼层 |阅读模式
  Application.CreateForm(TForm1, Form1);

  Form1.Hide;

  Application.CreateForm(TForm2, Form2);
  Form2.Show;
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-10-17 00:54:15 | 显示全部楼层
搞定了
功能定义:
为了实现启动画面功能,我设置了Form1, Form2
Form1是主窗口,Form2显示启动信息。
启动时,Form1.Hide; Form2.Show;
点击Form2.button1
Form1.Show;Form2.Close;

Project文件的代码,设置了应用程序如何启动:
在project1.lpr中,写入如下代码
begin
  RequireDerivedFormResource := True;
  Application.Initialize;

  Application.CreateForm(TForm1, Form1);//创建Form1,先创建的为主窗口

  Application.ShowMainForm:= False;     //主窗口显示设置

  Application.CreateForm(TForm2, Form2); //创建Form2
  Form2.Show;            // 首先显示Form2 When start-up, show the brand

  Application.Run;       //运行程序
end.
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-10-17 10:27:10 | 显示全部楼层

回 1楼(august010148) 的帖子

august010148:搞定了
功能定义:
为了实现启动画面功能,我设置了Form1, Form2
Form1是主窗口,Form2显示启动信息。
启动时,Form1.Hide; Form2.Show;
....... (2012-10-17 00:54) 
这种方法也可以
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-10-17 12:27:20 | 显示全部楼层
这个是Mastering Delphi 7列举的两个方法之一。当主窗体启动加载很多东东,比较慢时,这个比较合适,不用计时器控制,主窗体初始化完成后闪屏自动消失:
  1. procedure TAboutBox.MakeSplash;
  2. begin
  3.   BorderStyle := bsNone;
  4.   BitBtn1.Visible := False;
  5.   Panel1.BorderWidth := 3;
  6.   Show;
  7.   Update;
  8. end;
  9. ...
  10. var
  11.   SplashAbout: TAboutBox;
  12.    
  13. begin
  14.   Application.Initialize;
  15.    
  16.   // create and show the splash form
  17.   SplashAbout := TAboutBox.Create (Application);
  18.   try
  19.     SplashAbout.MakeSplash;
  20.     // standard code...
  21.     Application.CreateForm(TForm1, Form1);
  22.     // get rid of the splash form
  23.     SplashAbout.Close;
  24.   finally
  25.     SplashAbout.Free;
  26.   end;
  27.    
  28.   Application.Run;
  29. end.
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-10-17 17:54:22 | 显示全部楼层
先创建Form2不就得了
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-10-18 00:09:19 | 显示全部楼层
先创建Form2也可以
但有个小问题,先创建的是主窗口,
1、Form2.Close;会退出主程序
2、关闭Form1退出程序时,要在OnClose里,写上Application.Terminate;
否则,程序不会退出
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 22:34 , Processed in 0.029349 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表