Delphi/Lazarus: Déterminer TextWidth et TextHeight sans Canvas
Question de Invité | Dernière mise à jour le 21/07/2022 | Créé le 01/05/2022
Je voudrais déterminer la largeur et la hauteur d'une police, respectivement, la largeur et la hauteur pour une taille de police spécifique (TextWidth et TextHeight) sans avoir un Canvas disponible.
Par exemple, un Button (TButton) n'a pas de Canvas. Alors, comment dois-je travailler avec ça? Quelqu'un a-t-il une astuce pour ça?
Sujets Connexes
Delphi/Lazarus: Écrire texte avec un fond transparent sur Canvas
Tutoriel | 1 Commentaire
HTML5: Canvas.toDataURL() renvoie toujours PNG au lieu de JPG
Question | 1 Réponse
Delphi/Lazarus: Afficher la Date et l'Heure actuelles
Conseil | 0 Commentaires
Delphi/Lazarus: La touche ALT, SHIFT ou CTRL est-elle enfoncée?
Tutoriel | 0 Commentaires
Lazarus: Charger Fichier en tant que Array d'Octets et Enregistrer Array d'Octets en tant que Fichier
Tutoriel | 0 Commentaires
Delphi/Lazarus: Différence entre ParamStr(0) et Application.ExeName
Question | 1 Réponse
Delphi/Lazarus: Trim, TrimLeft et TrimRight - Tronquer les Espaces d'une Chaîne
Info | 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.
Lorsque je suis confronté à ce problème, je crée un Bitmap dans la fonction à laquelle je peux traiter mes mesures. Après le traitement, je peux supprimer (free) ce bitmap au cas où je n'en aurais plus besoin.
Voici une fonction pour obtenir la largeur (TextWidth) d'une police:
Et voici une fonction pour obtenir la hauteur (TextHeight):
Dans les deux fonctions, nous prenons la police de Form1, mais bien sûr, il est également possible d'utiliser et de définir toute autre police sur bmp.Canvas.Font dans la fonction. Par exemple comme ça:
Dans cette fonction, nous pouvons également passer le nom de la police ainsi que la taille de la police en tant que paramètre.
Cependant, si vous souhaitez uniquement définir la taille d'un Button, vous pouvez également le faire en définissant la propriété AutoSize sur TRUE. Si tel est le cas, le bouton s'adapte automatiquement au texte contenant.
Dernière mise à jour le 21/07/2022 | Créé le 01/05/2022