22 Votos

Lazarus: Get Default Font Size of Application and Controls

Pregunta de Invitado | 01/10/2026 a las 19:08

Me gustaría determinar de alguna manera el tamaño de fuente predeterminado de mi aplicación. Me refiero al tamaño de fuente, que se utiliza para todos los controles, como Panel, Button, campos Memo o Edit o cuadros de lista.

Intenté leer el tamaño de fuente capturando el valor de Form1.Font.Size o Label1.Font.Size en una variable, pero desafortunadamente, el resultado siempre es 0. Incluso durante la ejecución del programa, obtengo este valor 0, aunque los controles tienen un tamaño de fuente visible.

¿Qué estoy haciendo mal aquí? ¿Y cómo recuperar el valor correcto?

ResponderPositivoNegativo
2Mejor Respuesta2 Votos

Si Font.Size es 0, eso significa que se debe utilizar el tamaño de fuente predeterminado.

Puede obtener el tamaño real de la siguiente manera:

function GetDefaultFontSize: integer;
var
  fd: TFontData;
begin
  fd := GetFontData(prog.Font.Handle); 
  result := round((fd.Height * 72 / Font.PixelsPerInch) * (-1));  
end;

Como puede ver, he escrito una pequeña función para esto, que debería demostrar cómo proceder.

En primer lugar, capturamos el FontData del programa ("prog" es nuestro formulario principal) y después de eso, tenemos que convertir el valor proporcionado a partir de este al tamaño de fuente con el que podemos trabajar.
01/10/2026 a las 22:20

ResponderPositivo Negativo
Responder

Temas Relacionados

CSS: Cómo incluir CSS en HTML

Tutorial | 0 Comentarios

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.