Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern

Hallo, ich möchte bei einem TPanel während der Laufzeit die Textfarbe ändern. Beispiel: Ich gebe berechnete Werte in dem TPanel ‚paZahlAusgeben‘ aus. Ist die Berechnung nicht korrekt, soll in dem TPanel ‚paZahlAusgeben‘ das Wort ‚Fehler‘ in rot erscheinen. Bei der folgenden Zuweisung ‚paZahlAusgeben.Font.Color := clred;‘ erscheint das Wort ‚Fehler‘ NICHT in rot. Hast Du einen Tip für mich, wie ich dieses Problem beseitigen kann? LG Hein

Wird die Farbe vielleicht vom Parent Überschrieben (ist ParantFont = True)?

Ich würde allerdings zur Textausgabe auch nicht unbedingt ein TPanel nehmen. Würde sich ein TLabel oder ein TEdit nicht besser eignen?

Hi Hein, das sollte kein Problem sein, kenne aber Syntax fon Delfy nicht. :slight_smile:

if (Fehler) dann setFontColor(rot);

Das kann jede Sprache - in java habe ich es öfters in meinen (Da) JPanels, z.B. bei Log-Scrolls.
Wenn Fehler auftritt wird zu rot gewechselt im LOG Fenster und so sieht man gleich, wenn man an den fertigen Bildschirm läuft, ob alles gut lief oder ein Fehler kam.

Hier z.B. in Zeilen 261 & 295 (halt nur java - aber das sollte leicht adaptierbar sein).
Weiß garnicht ob es hier viel Delhi-Janer gibt??
Daher mal dies als Richtungspfeil… :slight_smile:
Grüße von Daniel

Hallo, ich habe das Problem gefunden. Es liegt am Style ‚Dark Mode‘ von Delphi. Im Style ‚Window‘ von Delphi funktioniert alles normal. LG Hein

1 Like