Einzelnen Beitrag anzeigen

meierotto

Registriert seit: 20. Mai 2005
Ort: Cottbus
73 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Sich selbst ausblendendes Label

  Alt 5. Aug 2005, 13:49
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?
  Mit Zitat antworten Zitat