Vorab: Ich habe keine Erklärung dafür, warum TTabSheet die Eigenschaft Color nicht öffentlich zur Verfügung stellt. Folglich weiß ich auch nicht, was unter welchen Umständen bei folgender Umgehungslösung schiefgehen kann!
Zur Laufzeit kannst du andere Farben bei TabSheet wie folgt erzwingen:
Baue eine eigene Klasse:
Delphi-Quelltext
1: 2: 3: 4: 5:
| type TMyTabSheet = class(TTabSheet) public property Color; end; |
Damit machst du die Eigenschaft Color öffentlich.
Nun kannst du im Code beispielsweise die Farbe vom TabSheet2 wie folgt ändern:
TMyTabSheet(TabSheet2).Color:=clred;Damit wird TabSheet2 (eigentlich vom Typ TTabSheet) zwangsweise wie ein Typ TMyTabSheet behandelt, welches die Eigenschaft Color besitzt.
Zu Risiken und Nebenwirkungen fragen Sie
dieses Thread.
Mit PageControl klappt das sinngemäß auch, nur ist die "Ausgabe" der Farbe dort dann etwas gestört (hier jetzt nicht weiter erörtert), weshalb ich es da nicht machen würde.