Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#9

AW: FMX - TLabel automatische Höhenanpassung

  Alt 17. Feb 2016, 20:41
Margins sind ja auch der Außenabstand, also gehören theoretisch nicht mit zum Element, während Padding der Innenabstand ist, also der Abstand vom Rand des Elements zum Inhalt.
Die Verwendung von Margins ist hier schon korrekt, da die Position des (inneren) Style-Elements relativ zu seinem Parent-Control herauskommen soll. An den anderen Stellen in FMX wird auch korrekt mit den Margin-Eigenschaften Left/Right und Top/Bottom gearbeitet. Nur(?) hier wird auf Margins.Width und Margins.Height zugegriffen, die allerdings unsinnige Werte liefern.

Man kann das gerne probieren:
Delphi-Quellcode:
program Project75;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  System.Types,
  FMX.Types;

procedure Main;
var
  margins: TBounds;
begin
  margins := TBounds.Create(TRectF.Empty);
  try
    margins.Left := 10;
    margins.Right := 8;
    Writeln(margins.Width:1:1); // liefert -2
  finally
    margins.Free;
  end;
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat