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)