Centrer une textbox ou une listbox dans une form [Résolu]

Signaler
Messages postés
32
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
13 septembre 2005
-
Messages postés
32
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2007
-
Bonjour,



Je voudrais centrer une textbox et une listbox dans une form quelque soit la résolution de l'écran



j'ai essayé ce code là



Text1.Left = (Me.ScaleWidth - Text1.Width) / 2



mais cela ne marche pas !!! et même en changeant le ScaleMode de la feuille rien à faire !!!



je précise que ma textBox est multiligne, p-ê que ça vient de là



Merci d'avance pour votre aide

9 réponses

Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
1
Private Sub Form_Resize()
Text1.Left = (Me.Width - Text1.Width) / 2


End Sub

Hassen TUNISIE
3
Merci

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

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

Messages postés
32
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
13 septembre 2005

ça marche nikel merci pour ta rapidité !!!
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
25
ce serait plutôt la première méthode.

Me.Width est toujours en Twips et prend en compte la bordure.

les positions, tailles des contrôles, Me.ScaleWidth et Me.Scaleheight sont dans la même unité que Me.Scalemode.

Daniel
Messages postés
32
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
13 septembre 2005

oui mais pour que ce soit pris en compte il fallait le mettre dans privat sub Form_Resize



après moi ça ne change rien que je mette Width ou ScaleWidth car mon ScaleMode est à Twips
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
25
t'as seulement une différence de 4 pixels c'est tout.

Daniel
Messages postés
32
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
13 septembre 2005

ah ok j'avais pas vu la différence !!!
Messages postés
32
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2007

Excusez moi, mais je n'ai pas vraiment compris cette histoire...

J'ai déja remarqué ce problème avec la bordure de la fenetre, mais je me suis arrangé autrement, mais c'est plus long...
Il y aurait donc un moyen plus rapide pour ne pas avoir ce problème avec la bordure?
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
25
ça, ça marche à tous les coups:



Private Sub Form_Resize()

Text1.Left = (Me.ScaleWidth - Text1.Width) / 2

Text1.Top = (Me.ScaleHeight - Text1.Height) / 2

End Sub





'tailles bordures Gauche + droite en pixels:

Msgbox ScaleX(Me.Width, vbTwips, vbPixels) - ScaleX(Me.ScaleWidth, Me.ScaleMode, vbPixels)



'tailles bordures Haut + Bas en pixels:

MsgBox ScaleY(Me.Height, vbTwips, vbPixels) - ScaleX(Me.ScaleHeight, Me.ScaleMode, vbPixels)


Daniel
Messages postés
32
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2007

Super info !!!

Merci beaucoup.