OK.
TText ist direkt von TControl abgeleitet und hat als Komponente keine (veröffentlichte) Hintergrundeigenschaft, insofern kannst Du da nirgendwo etwas zur Desingn-Time oder Runtime einstellen. Insofern bietet es sich an, hier das Onpaint-Event zu nehmen, dann kannst Du die Komponente selber und abweichend von dem verwendeten Style zeichnen (was Du ja wolltest, wenn ich Dich richtig verstanden habe):
Delphi-Quellcode:
procedure TForm10.Text1Paint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
begin
canvas.BeginScene;
canvas.Fill.Color := TAlphaColorRec.Yellow;
canvas.FillRect(Arect, 1,1, AllCorners,1);
canvas.Fill.Color := TAlphaColorRec.Black;
canvas.FillText (ARect, TText (Sender).Text, True, 1, [], TTextAlign.Center, TTextAlign.Center);
canvas.EndScene;
end;
Aber bei FireMonkey gilt der Spruch "Viele Wege führen nach Rom" ganz besonders. Hier sind meistens mehrere Varianten an Lösungen möglich.
So könnte man auch das TText-Element in ein TRectangle packen und dann die Hintergrundfarbe des Rectangles zur Laufzeit (bzw. auch vorher schon zur Designzeit) manipulieren:
Delphi-Quellcode:
procedure TForm10.FormCreate(Sender: TObject);
begin
Rectangle1.Fill.Color := TAlphaColorRec.Lime;
Rectangle1.Fill.Kind := TBrushKind.solid;
end;
In den anliegenden Screenshots siehst Du zur Designzeit oben nur die TText-Komponente, unten eine TText-Komponente in einem TRectangle. Zur Laufzeit haben beide eine andere Farbe, auf unterschiedlichen Wegen gelöst.
[Edit: Noch ein Hinweis: Wenn man den Rahmen von TRectangle nicht haben will, muss man unter Stroke,Thickness den Wert von 1 auf 0 setzen.]