Comment connaître les dimensions d'une RichTextBox de 8O colonnes par 24 lignes

Résolu
agauthiers Messages postés 33 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 février 2005 - 28 déc. 2004 à 20:02
agauthiers Messages postés 33 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 février 2005 - 29 déc. 2004 à 18:00
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 déc. 2004 à 11:57
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
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 déc. 2004 à 12:10
Excuses :
Ce n'est pas
MaForme.TextLength, mais

MaForme.TextWidth ' pour la largeur
MaForme.TextHeight ' pour la hauteur
3
VBREP Messages postés 69 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 4 mars 2007
29 déc. 2004 à 12:25
salut agauthiers

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

a+++
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 déc. 2004 à 13:11
qui as parlé de minitel ?

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
agauthiers Messages postés 33 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 15 février 2005
29 déc. 2004 à 18:00
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
0
Rejoignez-nous