Astuces de recherche...
Home
- Accueil & nouveautés
- Les newsgroups VB
- Téléchargements
- L'équipe
- Nous contacter
- Liens
Rubriques
- Toutes les questions
- Affichage & graphismes
- Algorithmique
- API
- Base de registre
- Bases de données
- Contrôles
- Date & heure
- Déploiement
- Divers
- Erreurs & problèmes
- Fichiers & dossiers
- Généralités
- Impression
- Internet & mails
- Math
- Multimédia
- Réseaux
- Structures de données
- Texte & strings
- VB .Net
- VB Script
- VBA
- Windows

Question 57

Comment centrer un texte sur une page à imprimer ?

Comme toujours quand il s'agit d'impression, il faut le faire "à la main", avec du code, car il n'existe pas de fonction toute faite le permettant.
L'idée est de se servir de la fonction "TextWidth" de l'objet "Printer", qui permet de déterminer la largeur d'une chaîne de caractères en fonction de la police choisie. Avant d'utiliser cette fonction, il faut donc évidemment déterminer la taille et le type de la police qui sera utilisée, sinon la valeur renvoyée ne sera pas exacte.

Dim sTexte as String

sTexte = "Ceci est un texte centré"

Printer.ScaleMode = vbCentimeters
Printer.FontSize = 14
Printer.FontName = "Times New Roman"
Printer.CurrentX = (Printer.Width - Printer.TextWidth (sTexte)) / 2
Printer.CurrentY = (Printer.Height - Printer.TextHeight (sTexte)) / 2
Printer.Print sTexte
Printer.EndDoc

Pour centrer un texte verticalement, le principe est exactement le même avec la méthode "TextHeight" de l'objet "Printer".

Date de publication : 07 juillet 2002
Dernière modification : 07 juillet 2002
Rubriques : Impression, Texte & strings
Mots-clés : imprimer, centrer, texte