22 Voix

Lazarus: Obtenir la Taille de Police par défaut de l'Application et des Contrôles

Question de Invité | 01/10/2026 à 22:38

Je voudrais en quelque sorte déterminer la taille de police par défaut de mon application. Je veux dire la taille de la police, qui est utilisée pour tous les contrôles tels que Panel, Button, les champs Memo ou Edit ou les zones de liste.

J'ai essayé de lire la taille de la police en capturant la valeur de Form1.Font.Size ou Label1.Font.Size dans une variable, mais malheureusement, le résultat est toujours 0. Même pendant l'exécution du programme, j'obtiens cette valeur 0, bien que les contrôles aient une taille de police visible.

Qu'est-ce que je fais de mal ici? Et comment récupérer la bonne valeur?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

Si Font.Size est 0, cela signifie que la taille de police par défaut doit être utilisée.

Vous pouvez obtenir la taille réelle de la manière suivante:

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

Comme vous pouvez le voir, j'ai écrit une petite fonction pour cela, qui devrait vous montrer comment procéder.

Tout d'abord, nous récupérons le FontData du programme ("prog" est notre formulaire principal) et après cela, nous devons convertir la valeur fournie par celui-ci dans la taille de police avec laquelle nous pouvons travailler.
01/10/2026 à 23:44

RépondrePositif Négatif
Répondre

Sujets Connexes

MySQL: Sauts de Ligne dans MySQL

Conseil | 0 Commentaires

CSS: Comment inclure CSS dans HTML

Tutoriel | 0 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.