Thema: Delphi Blinkendes Label

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Blinkendes Label

  Alt 1. Jan 2006, 12:03
Zitat von konda:
...wie soll ich den den timer in meiner komponenetenunit benutzen?
Hai konda,

ich habe mal schnell diese Klasse getippt. Eventuell ist da ja ein Denkanstoss für dich dabei
Delphi-Quellcode:
unit ShBlinkLabel;

interface

uses
  StdCtrls, ExtCtrls, Classes;

type
  TShBlinkLabel = class(TLabel)
  private
    fTimer: TTimer;
    fIntervall: integer;
    fAktiv: boolean;
  protected
    procedure OnTimer(Sender: TObject);
    procedure SetAktiv(aValue: boolean);
    procedure SetIntervall(aValue: integer);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Intervall: integer Read fIntervall Write SetIntervall;
    property Aktiv: boolean Read fAktiv Write SetAktiv;
  published

  end;

implementation

{ TShBlinkLabel }

constructor TShBlinkLabel.Create;
begin
  inherited;
  fAktiv := False;
  fTimer := TTimer.Create(self);
  fTimer.OnTimer := OnTimer;
  fTimer.Interval := 500;
  fTimer.Enabled := fAktiv;
end;

destructor TShBlinkLabel.Destroy;
begin
  fTimer.Free;
  inherited;
end;

procedure TShBlinkLabel.OnTimer(Sender: TObject);
begin
  Visible := not (Visible)
end;

procedure TShBlinkLabel.SetAktiv(aValue: boolean);
begin
  fAktiv := aValue;
  fTimer.Enabled := aValue;
end;

procedure TShBlinkLabel.SetIntervall(aValue: integer);
begin
  fTimer.Enabled := False;
  fTimer.Interval := aValue;
  fTimer.Enabled := True;
end;

end.
Edit: Kleinen Fehler beseitigt
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat