Cet article montre comment centrer un texte dans la fenêtre graphique GraphicsWindow en utilisant le langage de programmation Small Basic.


Méthode Facile

Le programme qui suit (TKW252) à un libellé "DeepSkyBlue Fish" et ce libellé est approximativement au centre du rectangle gris. Dans ce programme, la largeur en pixel de ce libellé est calculé comme ceci.

wCaption = (Text.GetLength(caption) + 2) * 7

Text.GetLength(caption) indique le nombre de caractères dans le libellé. La taille par défut de la fonte (hauteur) est de 12 pixels et la largeur moyenne brute la fonte par défaut (Tahoma) est censée être de 7 pixels dans ce programme. Si la largeur de la fenêtre est 'gw', centrer la position 'x' du libellé se fera comme ceci.

x = Math.Floor((gw - wCaption) / 2)

Ou, si vous utilisez la fonte "Courier New", la largeur de la fonte est 0.6 fois la hauteur de la fonte. Donc, si la hauteur de la fonte est de 12, nous calculons la largeur du libelle ainsi. 

wCaption = (Text.GetLength(caption) + 2) * 12 * 0.6

Méthode Précise

Centrer précisément nécessite de mesurer la largeur en pixel du texte avec précision. L'outil suivant (KTK906-1) permet de mesurer la largeur d'un texte en pixel.


Using this result I rewrote former aquarium program as TKW252-0.


Méthode Avancée

Les instructions suivantes montre une idée avancée pour centrer un texte.

  1. Réécrire l'outil de mesure pour mesurer la largeur pixel de tous les caractères for quelques fontes et créer un tableau avec les informations. C'est fait  dans ce programme TKT906-3.
  2. Calculer la largeur en pixel du texte depuis la taille de la fonte (hauteur), le texte a calculer et le tableau ci dessus. Code d'exemple: RFT686-0.

Voir Aussi

Autres Langues