du könntest ein TXYLabel vom TLabel ableiten, das das unterstützt.
könnte in etwa so aussehen:
Delphi-Quellcode:
TOwnLabel = class(TLabel)
private
FHide: Boolean;
FHideTime: Integer;
FTimer: TTimer;
procedure SetHide(NewVal: Boolean);
procedure Tmr_Hide(Sender: TObject);
public
property Hide: Boolean read FHide write SetHide;
property HideTime: Integer reaf FHideTime write FHideTime;
constructor Create;
destructor Destroy;
end;
implementation
constructor TOwnLabel.Create;
begin
inherited Create;
FTimer:=TTimer.Create(FTimer);
FTimer.Active:=False;
FTimer.OnTimer:=Tmr_Hide;
end;
destructor TOwnLabel.Destroy;
begin
FTimer.Free;
inherited Destroy;
end;
procedure TOwnLabel.SetHide(NewVal: Boolean);
begin
FHide:=NewVal;
if FHide then
begin
FTimer.Interval:=FHideTime;
FTimer.Active:=True;
end
else FTimer.Active:=False;
end;
procedure TOwnLabel.Tmr_Hide(Sender: TObject);
begin
Self.Hide;
end;
bin mir nicht sicher ob das alles so stimmt...geht Self.Hide?
aber das prinzip sollte rictig sein