各位大虾,能否帮一把?(100分)

  • 主题发起人 主题发起人 billxu
  • 开始时间 开始时间
B

billxu

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现在程序中,当窗口界面显示完成之后,开始执行一个函数或一个循环,
我该把这个函数写在哪个事件中?
 
窗体的ONACTIVE事件中
 
补充一点:最好定义一个变量做为标记,执行函数或循环时先检测这个标记,否则每次
激活该窗体时都会执行你的函数或循环。
 
onshow


onactive是在取得焦点的时候激活的


See help in ;delphi

Occurs when the form becomes active.

property OnActivate: TNotifyEvent;

Description

Use OnActivate to perform special
processing when the form receives
focus. A form becomes active when
;focus is transferred to it (when
;the user clicks on the form, for
example).

Note: The OnActivate event of the
application (TApplication), not the fo
rm, occurs when control switches ;from another application.
 
如果只是显示完后可以ONSHOW事件,用ONACTIVE的话,只要窗口切换后就会再次调用,而ONSHOW除非窗口被关闭后再次打开才会调用。
 
在窗体的OnActive中加入:
If ShowModal = mrOK then
;你要执行的函数
OK!?
 
同意楼上
 
同志们,我说的是在窗口显示之后,而不是之前,
下面的代码你们执行一下就知道了。
procedure TForm1.FormActivate(Sender: TObject);
var
; i:word;
; s:String;
begin
; for i:=1 to 10000 do
; begin
; ; Label1.Caption:=Inttostr(i);
; ; sleep(1000);
; end;
end;
 
给分吧 :).
其它的东西就要你自己发挥一下了
procedure TForm1.FormActivate(Sender: TObject);
var
; i:word;
; s:String;
begin
; for i:=1 to 10 do
; begin
; ; Label1.Caption:=Inttostr(i);
; ; application.ProcessMessages; ;
; ; sleep(1000);
; end;

end;
 
窗体显示之后是吗?

if form1.showing(*=ture*) then
; { your codes}
end;
至于放在哪个事件中,随你啦!
//////////////////////////////////
//我的定时关闭窗口的代码,在窗口开始显示后开始记时
///////////////////////////////////
procedure TinfoForm.Prco_showCtrl(Aowner: TObject);
begin
if self.Showing then
begin
; if newstart then
; ; ;showlong:=0;
; if showlong>=(Infomationshowingtime div 5030) then
; ; ;begin
; ; ; self.Hide;
; ; ; showlong:=0;
; ; ; memo.Clear;
; ; ; memo.Font.Size:=12;
; ; ; Show_Ctrl.Enabled:=false;
; ; ;end
; ; else
; ; ;begin
; ; ; ;inc(showlong);
; ; ;end;
; ;newstart:=false;
end
else
showlong:=0;
end;
 
多人接受答案了。
 

Similar threads

回复
0
查看
818
不得闲
回复
0
查看
995
不得闲
回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部