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 .color und .font.color gehen nicht mit Design 'Windows XP' (https://www.delphipraxis.net/74462-color-und-font-color-gehen-nicht-mit-design-windows-xp.html)

steamengine 3. Aug 2006 15:51


.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

Bernhard Geyer 3. Aug 2006 16:03

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.

igel457 3. Aug 2006 16:05

Re: .color und .font.color gehen nicht mit Design 'Windows X
 
Probiere mal
Delphi-Quellcode:
  componente.ParentColor := false;
EDIT: Bin mir nicht sicher ob das so heißt, aber auf jeden fall so ähnlich.
EDIT2: Stimmt! ParentBackground, das habe ich gemeint... :wall:

sakura 3. Aug 2006 16:07

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:...

steamengine 4. Aug 2006 09:12

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 21:05 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