ich bastle hier gerade eine Anwendung in der ich auf einem TLabel einen Text maximal groß anzeigen lassen möchte,
Dazu habe ich beim TLabel das Autosize weg genommen und dann das Label so groß gemacht wie es auf meiner Anwendung eben sein soll.
Der Nachfolgende Code funktioniert, ist aber super langsam, kennt da jemand einen Besseren Weg ?
Code: Alles auswählen
Procedure TForm1.FormResize(Sender: TObject);
Var
maxwSize: integer;
Begin
label1.Font.Size := 1;
While Label1.Canvas.TextWidth('75') < label1.Width Do Begin
label1.Font.Size := label1.Font.Size + 1;
End;
maxwSize := label1.Font.Size - 1;
label1.Font.Size := 1;
While Label1.Canvas.TextHeight('75') < label1.Height Do Begin
label1.Font.Size := label1.Font.Size + 1;
End;
label1.Font.Size := min(label1.Font.Size - 1, maxwSize);
label1.Invalidate;
End;