Wie gesagt verwundert es mich, das ausgerechnet nur die Font-Farbe nicht funktioniert. Wenn Windows die vorgiebt, sollte es da nicht auch andere Teile betreffen ? Was ist mit den
VCL-Styles ? Hier kann ich ja auch entsprechende Farben vorgeben, und die werden benutzt (auch mit TButton).
Du musst hier die Windows-Geschichte berücksichtigen.
Hier war schon immer die Textfarbe der Buttons festgeschrieben. Gibts im Windows-Farbeschemadefinition hierfür die beiden Farben "Button Textfarbe" und "Button Hintergrundfarbe".
Deshalb gibts auch beim TButton kein Color-Property. Und das Font-Color-Property wurde schon immer ignoriert.
Mit Windows XP ist nach noch das (Windows-)Theming dazu gekommen. Jetzt auch MS noch viel mehr Eigenschaften über das Theme gesteuert, so das hier (historisch) es einige Property gibt die ohne Windows-Theme noch funktonieren, mit nicht mehr.
Und mit
VCL-Theme hat man (endlich) den Gedanken von Theming auch in die
VCL gebracht (und ist jetzt nicht mehr auf Fremdkomponenten angewiesen).
Übrigends braucht man nicht auf Fremdkomponenten zugreifen (zumindest nicht wegen der Font-Farbe). Einfach TBitBtn oder TSpeedbutton verwenden und tut. Was das ganze
imho noch verwunderlicher macht.
TBitBtn und TSpeedbutton basieren auch nicht auf Windows-Controls, sondern waren schon immer eine reine
VCL-Angelegenheit.
Hatte auch den Nachteil das mit aufkommen von XP diese trotz XP-Theming inital wie ein Fremdkörper ausgehen haben (
Win9x/2000-Style) und erst mit Delphi-Updates auch richtig gethemed wurden.
Windows Vista - Eine neue Erfahrung in Fehlern.