闪现窗口的问题?(50分)

  • 主题发起人 主题发起人 SP229
  • 开始时间 开始时间
S

SP229

Unregistered / Unconfirmed
GUEST, unregistred user!
var
aText: Array[1..3] of string=('第一个字符串','第二个字符串','第三个字符串');
如何在闪现窗口中依次显示三个字符串,每个延迟1秒.我写的它就一直出现第三个字符串
procedure TFrmMove.FormCreate(Sender: TObject);
var
str: string;
i: integer;
begin
for i=1 to 3do
begin
str:=aText;
lb.caption:=str;
sleep(1000);
end;
end;
 
Application.ProcessMessages;
加在sleep前或者后,看看
 
1.不应该写在 FormCreate 里,因为在 FormCreate 里窗体还没有显示。
2.增加 lb.Refresh;
procedure TForm1.Button1Click(Sender: TObject);
var
str: string;
i: integer;
begin
for i:=1 to 3do
begin
str:=aText;
lb.caption:=str;
lb.Refresh;
sleep(1000);
end;
end;
 
to fanboynet
你的方法不行。
to kaida
我的TFrmMove是一个启动前窗口,里面只有label控件。
再试试kaida的。
 
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
procedure MovingShow;
end;

var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.MovingShow;
const
aText: Array[1..3] of string=('第一个字符串','第二个字符串','第三个字符串');
var
str: string;
i: integer;
begin
for i:=1 to 3do
begin
str:=aText;
Label1.caption:=str;
Label1.Refresh;
sleep(1000);
end;
end;

end.
========================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Form2:=TForm2.Create(self);
try
Form2.Show;
Form2.MovingShow;
finally
Form2.Free;
end;
end;

end.
 
to kaida;
现在字符串可按要求显示了.但窗体上image控件里的图片不能显示了!
 
Image 显示原理一样啊,用 Image1.Refresh;
 
多谢你了,可以了.给你加分.
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部