Comment connaître les dimensions d'une RichTextBox de 8O colonnes par 24 lignes [Résolu]

Signaler
Messages postés
33
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
15 février 2005
-
Messages postés
33
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
15 février 2005
-
Bonjour à tous,

Je débute en VB 6.0., j'en suis à ma seconde question.
(Un grand merci à Bultez pour la première)

Comment connaître les dimensions d'une RichTextBox de 8O colonnes par 24 lignes
avec une police MS sans Serif gras 12 avec un écran en 1024X768 ?
Quelle mesure utiliser le twips, le pixel ?

Un grand merci pour vos réponses.

Bonnes fêtes de fin d'année.

agauthiers@ifrance.com

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut agauthiers
Comme tu peux le constater, la police 'MS Sans Serif' n'est pas une police à champ fixe, c'est à dire que la lettre 'i' prend moins de place qu'un 'm'.
Tu ne peux donc pas calculer de largeur standard pour 80 colonnes puisque 80 lettres 'i' prendront beaucoup moins de place que 80 lettres 'm'.

Sinon, pour les mesures : Le Twip est l'unité utilisée par défaut dans ta feuille, donc raisonne en Twip, ça sera plus facile pour imposer des positions (.Top, .Left) ou des tailles (.Length, .Width) à tes objets.

Pour calculer la taille en Twips d'un texte, c'est assez simple :
Il faut pour cela que tout ton texte utilise la même police (sachant qu'on peut mélanger plusieurs polices dans un même RichTextBox) : Il suffit d'utiliser la propriété TextLength (ou TextWidth) de ta forme :
On peut écrire sur une forme. C'est peu utilisé, mais c'est possible. Donc une forme a une propriété Font.
Il suffit de donner à cette propriété Font les mêmes caractéristiques que la fonte de ton RichTextBox :
MaForme.Font = RichTextBox1.Font

A partir de là, pour connaitre une largeur de texte, tu n'as plus qu'à faire :
LargeurTwip = MaForme.TextLength("Mon texte")

Ca, c'est la largeur du texte. Pour connaitre la largeur du RichTextBox, il te suffit d'ajouter quelques Twips pour les bordures et les barres de scrolling (environ 150 twips)

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Excuses :
Ce n'est pas
MaForme.TextLength, mais

MaForme.TextWidth ' pour la largeur
MaForme.TextHeight ' pour la hauteur
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
69
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
4 mars 2007

salut agauthiers

si comme pense
tu veut faire un emulateur minitel
j'ai des infos pour toi

a+++
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
qui as parlé de minitel ?

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
Messages postés
33
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
15 février 2005

Merci à tous les trois pour vos réponses

Désolé VBREP mais ce n'est pas pour un émulateur minitel, mais merci quand même cela aurait pu être ça.

Renfield, merci pour ta participation. :)

Un grand merci à Jack pour son explication claire et pertinente sur le calcul de la taille et les propriétés d'une forme.

cordialement
agauthiers@ifrance.com