自己定义组件中怎么使用tTimer? |
答題得分者是:hagar
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
unit TimeLabel; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, extctrls; type TTimeLabel = class(TLabel) private FTimer: TTimer; procedure TimerTimer(Sender: TObject); protected public property Timer: TTimer read FTimer; constructor Create(AOwner: TComponent); override; destructor Destroy; override; published { Published declarations } end; procedure Register; implementation procedure Register; begin RegisterComponents('XYZ', [TTimeLabel]); end; { TTimeLabel } constructor TTimeLabel.Create(AOwner: TComponent); begin inherited; FTimer := TTimer.Create(Self); FTimer.OnTimer := TimerTimer; FTimer.Enabled := False; end; destructor TTimeLabel.Destroy; begin FTimer.Free; inherited; end; procedure TTimeLabel.TimerTimer(Sender: TObject); begin Caption := FormatDateTime('YYYY/MM/DD hh:nn:ss', Now); end; end.使用: uses TimeLabel; procedure TForm1.Button1Click(Sender: TObject); var myTimeLabel: TTimeLabel; begin myTimeLabel := TTimeLabel.Create(Self); myTimeLabel.Parent := Self; myTimeLabel.Left := 0; myTimeLabel.Top := 0; myTimeLabel.Timer.Interval := 1000; myTimeLabel.Timer.Enabled := True; end;--- --<-<-<@ 發表人 - hagar 於 2003/08/14 10:32:23 |
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
...
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Timer: TTimer read FTimer;
{ Published declarations }
end;
.... 你要是将这个属性现实出来效果更好哦< > 我也是这样做的,不知为什么会出错< >;至少我知道这样方法是对的,我想肯定是我那儿遗漏了 多谢,
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |