Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Hintergundfarbe von TGauge setzen, wann wird neu gezeichnet? (https://www.delphipraxis.net/73886-hintergundfarbe-von-tgauge-setzen-wann-wird-neu-gezeichnet.html)

Mutier 25. Jul 2006 09:43


Hintergundfarbe von TGauge setzen, wann wird neu gezeichnet?
 
Hallo,

ich habe ein kleines Programm geschrieben, in dem sich die Hintergrundfarbe eines TGauge-Controls in Abhängigkeit eines Wertes ändern soll. Dieser Wert kann sich im 1/100 Sekundenintervall ändern, muss er jedoch nicht.

Ist es nun in puncto Rechenbedarf günstiger, wenn ich bei jedem Schleifendurchlauf dem Tgauge entsrepchend des Wertes eine Farbe zuweise (auch wenn es diese Farbe bereits schon hat), oder sollte man besser erst nachsehen, ob eine neue Farbe zugewiesen werden muss? Mit anderen Worten, zeichnet Delphi mein tgauge automatisch neu, wenn ich eine neue Farbe zuweise oder nur dann, wenn sich diese Farbe von der vorangegangenen unterscheidet?

Ist es bei diesem Einsatzgebiet zu empfehlen, eher die Palette zu bearbeiten. Ginge das überhaupt?

Danke für Eure Hilfe!

Ciao
Mutier

shmia 25. Jul 2006 10:39

Re: Hintergundfarbe von TGauge setzen, wann wird neu gezeich
 
Nur wenn sich die Farbe ändert, findet auch eine Aktion statt:
Delphi-Quellcode:
procedure TGauge.SetBackColor(Value: TColor);
begin
  if Value <> FBackColor then
  begin
    FBackColor := Value;
    Refresh;
  end;
end;
Also brauchst du die alte Farbe nicht zu prüfen.
Das Bearbeiten der Palette bringt nur wenig, da moderne Rechner min. 65536 Farben anzeigen.
(Es wird also keine Palette benützt, es sei denn, der Benutzer möchte in 16 oder 256 Farben Nostalgie schwelgen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz