![]() |
Blinkendes Label
hallo, ich weiß nicht ob das hier die richtige kategorie ist. ich will ne komponente programmieren die in intervallen blinkt, also so ähnlich wie ein timer kompiniert mit einem label das abwechselnd sichtbar und unsichtbar ist. nur leider wiess ich nicht wie ich das ohne timer programmiere. :gruebel:
|
Re: Blinkendes Label
Üwrd dir gerne Helfen aber nen Timer brauchste schon es gab mal ne Komponente die das hatte aber ich ... weis leider nichtmehr woher ich sie hatte....
|
Re: Blinkendes Label
So eine Kompo ist bei den JEDIs dabei. Was spricht denn gegen einen Timer?
Ratte |
Re: Blinkendes Label
Zitat:
|
Re: Blinkendes Label
Zitat:
|
Re: Blinkendes Label
Zitat:
ich habe mal schnell diese Klasse getippt. Eventuell ist da ja ein Denkanstoss für dich dabei ;-)
Delphi-Quellcode:
Edit: Kleinen Fehler beseitigt
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. |
Re: Blinkendes Label
Variable in der Labelklasse
Delphi-Quellcode:
und dann im overloaded label.create der Unit
timer1:ttimer;
Delphi-Quellcode:
//edit: mist, sharkky war schneller
timer1:=ttimer.create(label1);
|
Re: Blinkendes Label
Hallo,
Delphi-Quellcode:
Die beiden Zeilen sollten noch hinzugefügt werden, damit das Label nicht unsichtbar bleibt, wenn es in diesem Moment gerade "ausgeschaltet" wird.
procedure TShBlinkLabel.SetAktiv(aValue: boolean);
begin fAktiv := aValue; fTimer.Enabled := aValue; if not (aValue) then Visible := true; end; Gruß, ManuMF |
Re: Blinkendes Label
fIntervall wird nie gesetzt? Mir scheint, Sharky hat nicht viel geschlafen. :mrgreen:
Delphi-Quellcode:
constructor TShBlinkLabel.Create;
begin inherited; fAktiv := False; fIntervall := 500; fTimer := TTimer.Create(self); fTimer.OnTimer := OnTimer; fTimer.Interval := 500; fTimer.Enabled := fAktiv; end; { ... } procedure TShBlinkLabel.SetIntervall(aValue: integer); begin fTimer.Enabled := False; fTimer.Interval := aValue; fTimer.Enabled := True; fIntervall := aValue; end; |
Re: Blinkendes Label
das ist alles einleuchtend, nur leider schaff ich es zurzeit nicht er zu testen. ich schaff es zwar die komponente zu installieren aber dann finde ich sie nicht mehr. :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz