Soderle...
Hätte man auch finden können...
Der Trick ist:
Delphi-Quellcode:
var
TextLayout : TTextLayout;
...
begin
TextLayout := TTextLayoutManager.DefaultTextLayout.Create; // ImCreate
FreeAndNil(TextLayout); // Im destroy
end;
und ein bisschen Init..
Delphi-Quellcode:
procedure InitTextLayout;
begin
TextLayout.MaxSize := TPointF.Create(1000,1000);//TextObject.Width, TextObject.Height);
TextLayout.HorizontalAlign := TTextAlign.Leading;
TextLayout.VerticalAlign := ResultingTextSettings.VertAlign;
TextLayout.Font := ResultingTextSettings.Font;
end;
und schon geht
Delphi-Quellcode:
function TextWidth(const AText: String): Single;
begin
TextLayout.Text := AText;
Result := TextLayout.TextRect.Width;
end;
Normalerweise TextObject.X aber meine Ableitung hat kein Textobject daher 1000,1000
Grüsse Mavarik