Centrer une textbox ou une listbox dans une form

Résolu
agnescol Messages postés 32 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 13 septembre 2005 - 2 août 2005 à 15:09
remilafouine Messages postés 32 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 juin 2007 - 6 nov. 2005 à 19:45
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

cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
2 août 2005 à 15:13
Private Sub Form_Resize()
Text1.Left = (Me.Width - Text1.Width) / 2


End Sub

Hassen TUNISIE
3
agnescol Messages postés 32 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 13 septembre 2005
2 août 2005 à 15:37
ça marche nikel merci pour ta rapidité !!!
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
2 août 2005 à 16:59
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
0
agnescol Messages postés 32 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 13 septembre 2005
2 août 2005 à 17:02
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
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
2 août 2005 à 17:05
t'as seulement une différence de 4 pixels c'est tout.

Daniel
0
agnescol Messages postés 32 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 13 septembre 2005
2 août 2005 à 17:07
ah ok j'avais pas vu la différence !!!
0
remilafouine Messages postés 32 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 juin 2007 1
5 nov. 2005 à 22:59
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?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
5 nov. 2005 à 23:20
ç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
0
remilafouine Messages postés 32 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 juin 2007 1
6 nov. 2005 à 19:45
Super info !!!

Merci beaucoup.
0
Rejoignez-nous