Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
862 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: FMX: Hintergrundfarbe eines TMemo ändern

  Alt 20. Jul 2020, 11:36
Vielleicht wirst du ja hier fündig, da ging es um die Hintergrund-Farbe eine TPanel.
https://www.delphipraxis.net/204751-...on-tpanel.html

Ich setze die Hintergrund-Farbe mit dem Aufruf der folgenden Methode (wichtig ist bei iOS aber, der Zeitpunkt, wann man dies tut, FormActivate muss bis zu Ende durchgelaufen sein, du wirst den Code für dich aber natürlich anpassen müssen):
Delphi-Quellcode:
procedure TicTrainerF.memoApplyStyleLookup(Sender: TObject);
var Obj:TFmxObject;
    Rectangle1:TRectangle;
    i:integer;
    color:TAlphaColor;
begin

  if (sender=mCurrentLeg) then
  begin
    Obj:=mCurrentLeg.FindStyleResource('background');
    color:=mCurrentLegColor;
  end else if (sender=mExercise) then
  begin
    Obj:=mExercise.FindStyleResource('background');
    color:=mExerciseColor;
  end else begin
    obj:=nil;
    color:=TAlphaColors.White;
  end;

  if (Obj<>nil) then
  begin
     for i:=0 to Obj.ChildrenCount-1 do
     begin
       if ((Obj.Children[i].ClassType=TRectangle) and (Obj.Children[i].Name='bgColorRect'))then
       begin
         TRectangle(Obj.Children[i]).Fill.Color:=color;
         exit;
       end;
     end;
     TControl(Obj).Margins:=TBounds.Create(TRectF.Create(-2,-2,-2,-2));
     Rectangle1:=TRectangle.Create(Obj);
     Rectangle1.Name:='bgColorRect';
     Obj.AddObject(Rectangle1);
     Rectangle1.Align:=TAlignLayout.Client;
     Rectangle1.Fill.Color:=color;
     Rectangle1.Stroke.Color:=claNull;
     Rectangle1.HitTest:=False;
     Rectangle1.SendToBack;
  end;
end;
  Mit Zitat antworten Zitat