简单的登录窗口问题 (50分)

  • 主题发起人 主题发起人 逆水
  • 开始时间 开始时间

逆水

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个小问题向大家请教,我的程序需要一个登录窗口,第一次我将FORM1、和FORM2定义成
父子窗口,让FORM1、作主窗口,FORM2作登录窗口,可发现FORM2的窗口大小无法设置,于是我
去掉他们的父子设置,在FORM1的CREEAT事件中动态建立FORM2,可发现FORM2是出现了,大小
也可定义了,可是FORM1去隐藏了,如何让FORM1出现几秒钟后,FORM2再出现,当然FORM1还在。
谢谢大家了。
 
sleep函数。
 
就是一个splash窗体嘛!
好多资料都可介绍,在你的工程文件中去掉Form1的自动
创建功能,然后再你的工程文件中写
{Create a splash form}
Form1:=TForm1.Create(self)

Form1.Show

Form1.update
sleep(2000);
Application.Initialize

Application.CreateForm(TForm2,Form2)
Form1.close

Form1.free

Application.Run
 
如果时间过长,就尽量不用sleep.
以下是一个延时函数

procedure Delay(msecs:longint);
var
FirstTickCount:longint;
begin
FirstTickCount:=GetTickCount;
repeat
Application.ProcessMessages;
until (GetTickCount-FirstTickCount >= msecs);
end;

 
你是不是用showmodal了?
用show试一下
 
ONLY YOU 老兄,如何去掉FORM1的自动创建功能的,我试了一下,好象不太行,请详解,谢
谢了。还有,这段程序写在DRP方件的那个事件下的。
 
呵呵

Only You的代码没错

这里我给你一个全的DPR文件

你贴过去就行了

program Project1;

uses
Forms,SysUtils,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
Form1:=TForm1.Create(nil);
Form1.Show;
Form1.update;
sleep(2000);
Application.Initialize;
Application.CreateForm(TForm2,Form2);
Form1.close;
Form1.free;
Application.Run;
end.
 
同意only you
 
来迟了,呵呵
 
我觉得影子的方法好[:)]
 
好久没来了,才想起还欠大空的分呢,呵呵。
 
后退
顶部