ohne einen schon ewig geschlossenen Thread wieder aufwärmen zu wollen
eine Anmerkung noch:
unter Delphi XE2/3 Firemonkey klappt der Tipp mit dem Label auf der Form nur dann, wenn es auch visible ist. Ansonsten wird label.width nicht aktualisiert, egal was man da an Text reinpackt und was man auch probiert.
meine Lösung war dafür:
- Label auf Form packen
- visible auf true, Opacity = 0, autosize = true
- zur Laufzeit: label.Text + label.Font ändern auf das was man ermitteln möchte
- dann ganz wichtig: label.updateStyle einmal aufrufen
- erst dann kann mit label.width die Breite in Pixel abgelesen werden, vorher steht sonst noch der original width-Wert der Entwurfszeit drin