Ich habe jetzt mal ein bisschen rausbekommen
Folgender code funktioniert anscheinend
Delphi-Quellcode:
//Maxwidth ermitteln
var aMaxTextWidth:Extended := 0.0;
var aTextWidth : Extended := 0.0;
var Bmp:FMX.Graphics.TBitmap := FMX.Graphics.TBitmap.Create;
var aFont:TFont := tfont.create;
var b:byte;
try
aFont.Family := aListbox.ListItems[0].StylesData['text.font.family'].asString;
aFont.Size := aListbox.ListItems[0].StylesData['text.font.size'].AsExtended;
aListbox.ListItems[0].StylesData['text.font.style'].ExtractRawData(@b);// <-------------ist das richtig
afont.Style := tFontstyles(b);// <-------------ist das richtig
Bmp.canvas.Font.Assign(aFont);
For var i:Integer := 0 to aListbox.Items.Count-1 do
Begin
aTextWidth := Bmp.canvas.TextWidth(aListbox.ListItems[i].Text);
if aTextWidth > aMaxTextWidth then
aMaxTextWidth := aTextWidth;
End;
finally
Bmp.Free;
aFont.Free;
end;
wie mache ich das mit den TFontStyles? Ist das richtig?