Vielen Dank für beide interessanten Vorschläge. Ich habe die 2. Vaiante mal aufgegriffen, allerdings bleibe ich an zwei Stellen hängen:
Delphi-Quellcode:
interface
uses classes, stdCtrls, ExtCtrls;
type
TDelayLabel = 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 read FHideTime write FHideTime;
constructor Create;
destructor Destroy;
end;
Procedure Register;
implementation
constructor TDelayLabel.Create;
begin
inherited Create; //benötigt Übergabeparameter
FTimer:=TTimer.Create(FTimer);
FTimer.Enabled:=False;
FTimer.OnTimer:=Tmr_Hide;
end;
destructor TDelayLabel.Destroy;
begin
FTimer.Free;
inherited Destroy;
end;
procedure TDelayLabel.SetHide(NewVal: Boolean);
begin
FHide:=NewVal;
if FHide then
begin
FTimer.Interval:=FHideTime;
FTimer.Enabled:=True;
end
else FTimer.Enabled:=False;
end;
procedure TDelayLabel.Tmr_Hide(Sender: TObject);
begin
Self.Hide; //funktioniert so leider nicht!
end;
Könnte da bitte nochmal jemand drüberschauen?