Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#3

Re: Sich selbst ausblendendes Label

  Alt 5. Aug 2005, 12:52
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
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat