AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponentenentwicklung LED über TShape ?

Ein Thema von Chris211183 · begonnen am 23. Sep 2013 · letzter Beitrag vom 16. Jun 2015
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Komponentenentwicklung LED über TShape ?

  Alt 27. Sep 2013, 13:20
Ich kommentiere mal das Beispiel von DeddyH

Delphi-Quellcode:
type
  (* Mögliche Stati *)
  TLEDState = (lsOff, lsActive, lsInactive);
  
  TLED = class(TGraphicControl)
  private
    FState: TLEDState;
    procedure SetState(const Value: TLEDState);
  protected
    // Überschreiben der Zeichen-Methode
    procedure Paint; override;
  published
    // Eigenschaft für den Status
    property State: TLEDState read FState write SetState;
  end;
  
procedure TLED.Paint;
var
  LEDColor: TColor;
begin
  inherited;

  // Abhängig vom Status die Zeichenfarbe festlegen
  case FState of
    lsActive:
      LEDColor := clGreen;
    lsInactive:
      LEDColor := clRed;
    else
      LEDColor := clGray;
  end;

  // Zeichnen

  // Hintergrundfarbe festlegen
  Canvas.Brush.Color := LEDColor;
  // Eine Ellipse zeichnen
  Canvas.Ellipse( 0, 0, ClientWidth, ClientHeight );
end;

procedure TLED.SetState(const Value: TLEDState);
begin
  // Ist der neue Wert ungleich dem aktuellen
  if FState <> Value then
    // dann
    begin
      // diesen neuen Wert speichern
      FState := Value;
      // und diese Komponente zum Neuzeichnen vormerken
      Invalidate;
    end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 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-2025 by Thomas Breitkreuz