Hallo Klaus,
Vielen Dank!
Den Wald mal wieder vor lauter Bäumen übersehen...
Hier noch mal die korrigierte Version:
Sub SetBestTextSizeL(lbl As Label)
Dim Size As Float
Dim SU As StringUtils
Size=1: lbl.TextSize=Size
Do While SU.MeasureMultilineTextHeight(lbl,lbl.Text)<lbl.Height
Size=Size+1:lbl.TextSize=Size
Loop
lbl.TextSize=Size-1
End Sub
Sub SetBestTextSizeB(btn As Button)
Dim Size As Float
Dim SU As StringUtils
Dim refl As Reflector
Dim H As Float
refl.Target=btn
H=btn.Height-refl.RunMethod("getPaddingTop")-refl.RunMethod("getPaddingBottom")
Size=1: btn.TextSize=Size
Do While SU.MeasureMultilineTextHeight(btn,btn.Text)<H
Size=Size+1:btn.TextSize=Size
Loop
btn.TextSize=Size-1
End Sub
(Anmerkung: Multiline wird's mit diesem Code nie! Ist ja klar, weil die Textgröße durch die fixierte Höhe der Views begrenzt wird. Sobald der Text mehrzeilig werden würde, passt er ja nicht mehr in die vorgegebene Höhe!)
Eigentlich wollte ich die Schleifen wie in VB ansetzten:
geht ja nicht - Welche Schleifenkonstruktion hättest Du gewählt?
(Ich würde Dich gerne "liken" -bin aber strikter socialnetwork-Gegner...)