Also ich hab da jetzt mal ein bisschen mit experimentiert. Wenn man sich eingehender damit befasst, dann merkt man recht schnell wie unausgereift diese ganze Skinnerei eigentlich ist. Und zwar auf beiden Seiten: Sowohl (Sp)TBX als auch
VCL-StyleServices haben ihre Macken.
Interessant ist, dass die
VCL nur ein Subset dessen implementiert, was die
VCL-StyleServices so beherrschen. Bestes Beispiel Popup-Menüs: Die erscheinen beim TPopupMenu immer im nativen Windows-Stil, auch wenn ich in den Projektoptionen einen
VCL-Theme angegeben habe. Implementiere ich die Menü-Pinselei aber in ein SpTBX-Theme, dann werden die Dropdowns durchaus auch gethemed.
Die Theme-Engine von SpTBX verwendet intern keine 32-Bit-Bitmaps, weshalb an manchen Stellen die Fuchsia-TransparentColor erscheint. Das lässt sich nur mit einer Skin-
unit nicht lösen, dazu müsste die SpTBXSkins.pas gepatched werden.
Die Graphite-Themes der
VCL zeichnen Toolbars schneeweiß, wovon man im ansonsten dunkel gehaltenen Stil Augenkrebs bekommt. Übel wird das dann in Kombination mit dem SpTBXTabSet, welches die Tableiste mittels einer Toolbar realisiert.
Die
VCL-Themes stellen speziell bei den dunklen Themes oftmals falsche Textfarben bereit, sodass man kaum die schwarze Schrift auf dem dunkelgrauen Hintergrund lesen kann.
Eine kleine Demo hab ich mal beigefügt, da kann man sich die Misere anschauen.