Ver Mensaje Individual
  #1  
Antiguo 12-07-2021
Esteban74 Esteban74 is offline
Miembro
 
Registrado: jun 2020
Posts: 12
Reputación: 0
Esteban74 Va por buen camino
Ajuste de fuentes segun espacio del contenedor

Hola, se me presenta una situación en la que un TLabel debe mostrar una información pero con WordWrap en False y autoSize en True , el problema es que en un dispositivo android el texto de dicho label es mas largo que su ancho (Width), por lo que busco reducir el tamaño de la fuente en forma dinámica para que se visualice correctamente, implemento algo así pero me entra en bucle infinito:

Código Delphi [-]
procedure TfrmPrincipal.labRecuperaDatosPaint(Sender: TObject; Canvas: TCanvas;
  const ARect: TRectF);
begin
 while Canvas.TextWidth((sender as TLabel).Text) >= (sender as TLabel).Width do
  (sender as TLabel).Font.Size := (sender as TLabel).Font.Size - 1;
end;

No se si estoy cometiendo un error de sintaxis o mi enfoque para resolver el problema no es el correcto, si alguien paso por esto antes agradecería su ayuda. Gracias por su tiempo.
Responder Con Cita