![]() |
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 |
Re: Hintergundfarbe von TGauge setzen, wann wird neu gezeich
Nur wenn sich die Farbe ändert, findet auch eine Aktion statt:
Delphi-Quellcode:
Also brauchst du die alte Farbe nicht zu prüfen.
procedure TGauge.SetBackColor(Value: TColor);
begin if Value <> FBackColor then begin FBackColor := Value; Refresh; end; end; 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 03:49 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