![]() |
.color und .font.color gehen nicht mit Design 'Windows XP'
Hallo allerseits,
ich habe bds2006 und XP2002 mit SP2. Ich mache eine Form mit diversen Panels und darin ganz simple Standardkomponenten - Editfelder, Checkboxen usw. Jetzt will ich die Hintergrundfarbe der Standardkomponenten mit ed.color:=... bzw. die Schriftfarbe der Standardkomponenten ed.font.color:=... zur Laufzeit ändern. Solange das Design auf 'Windows klassisch' steht, ist alles ganz prima. Bei Design 'Windows XP' geht aber weder die Hintergrundfarbe noch die Schriftfarbe zu ändern. Ich habe verschiedene Kombinationen von .ParentColor und .ParentFont probiert, aber es klappt nicht. Eine .manifest Datei ist nicht im Spiel. Was muß man tun? Danke für irgendwelche Tips. Steamengine |
Re: .color und .font.color gehen nicht mit Design 'Windows X
Deine Anwendung schaut aber schon gethemed aus?
Falls ja mußt du für einzelne Controls das Theming ausschalten. Im Forum wurde schon öfters darüber diskutiert und es gibt eine API-Funktion die das macht. Aber frag mich nicht wie die heißt. Evtl. kenn sie ja jemand anderes aus dem FF. |
Re: .color und .font.color gehen nicht mit Design 'Windows X
Probiere mal
Delphi-Quellcode:
EDIT: Bin mir nicht sicher ob das so heißt, aber auf jeden fall so ähnlich.
componente.ParentColor := false;
EDIT2: Stimmt! ParentBackground, das habe ich gemeint... :wall: |
Re: .color und .font.color gehen nicht mit Design 'Windows X
Korrekt, das liegt am XP-Theming, aber es gibt eine Eigenschaft, die man für die Panels setzen muss, dann ignorieren die das Theming. Das ist as-designed ;)
Setze ParentBackground der entsprechenden Panels auf False und schon ignorieren sie das Theming. ...:cat:... |
Re: .color und .font.color gehen nicht mit Design 'Windows X
Ja, danke für den Tipp mit ParentBackground. Wenn man danach einmal sucht, findet man ja diverse Bemerkungen und Tricks dazu.
Mit Labels und Editfeldern klappt es erfreulicherweise inzwischen. Aber mit Checkboxen ist es offenbar nicht wirklich machbar. Da kann ich mit MyPanel.ParentBackground und MyCheckbox.ParentColor sowie MyCheckbox.ParentFont sowie Exclude(MyCheckbox.ControlStyle, csParentBackground) machen was ich will (habe so ziemlich alles durchprobiert), der Text der Checkbox bleibt schwarz und der Hintergrund ist nicht zu ändern. Na schön - zum Glück kann man eine Checkbox ja aus einer Checkbox ohne Text und einem Label zusammensetzen - es lebe der Workaround! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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