Bonjour tous le monde
je cherche une propriétée dans les composants: Textbox ou Label pour centrer Verticalement un text au mileu
Je trouve seulement center horizotalement
[IMG]file:///c:\Align.bmp[/IMG]
Version imprimable
Bonjour tous le monde
je cherche une propriétée dans les composants: Textbox ou Label pour centrer Verticalement un text au mileu
Je trouve seulement center horizotalement
[IMG]file:///c:\Align.bmp[/IMG]
Bonjours ;)
Regardes dans Les contributions VB6/VBScript de Delbeke Composant label vertical
Motif de l'edit:
Dans le fond c'est peutêtre la propriété .Alignment que tu cherches pour ces deux contrôles.
Et en passant, ton lien image n'est pas valide.
Merci Bien ProgElecT de votre Réponse
Mais ce que je cherche ce n'ai mettre le texte Verticalement mais laisser le horizotale et l'aligner au cntre du TextBox verticalement
je m'explique Horizotalement on le met soit à gauche, à droite ou au mileu
ce que je veux c'est le mettre en centre Verticalement c'est à dire non plus en Haut où en Bas mais en plein centre du TextBox
Une solution tout bête
Prévois pour ton label, une hauteur suffisante pour trois lignes de textes
Code:Label1.caption = VbCrLf & "Nom texte à centrer"
pour Label on peut jouer sur la Hauteur
mais je cherche une solution pratique pour un TextBox
Bonjour, DzBadBoy,
On peut se lancer dans des calculs orthodoxes et jouer avec TextHeight + une fonction de l'Api de Windows...
Mais on peut également se montrer astucieux...
Ainsi :
Place sur ta Form une textbox multiline et nomme-la Text1
Donne à ta textbox la propriété Alignment = 2 (Center)
Place maintenant un label et nomme-le Fantome
Ajoute un bouton de commande nommé Command1 (pour tester)
mets ce code :
Lance, clique sur Command1 et vois..Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Private Sub Form_Activate() With Fantome .AutoSize = True .WordWrap = True .Visible = False End With End Sub Private Sub Command1_Click() Fantome.Width = Text1.Width Set Fantome.Font = Text1.Font montexte = "pour Label" & vbCrLf & "on peut jouer sur " & vbCrLf & "la Hauteur, mais je cherche" & _ vbCrLf & "une solution pratique pour un TextBox" Fantome.Caption = montexte While Fantome.Height < Text1.Height Fantome.Caption = vbCrLf & Fantome.Caption & vbCrLf Wend If Fantome.Height > Text1.Height Then Fantome.Caption = Mid(Fantome.Caption, 3) Text1.Text = Fantome.Caption End Sub
Deux choses, maintenant :
1) ta textbox devra avoir une hauteur au moins égale à celle nécessaire pour afficher tout le texte, bien évidemment
2) il est clair que le centrage vertical ne sera pas toujours (en fonction du nombre de lignes) rigoureusement exact (car il est par analogie possible de définir un nombre "central" d'une suite impaire, mais jamais rigoureusement central d'une suite paire...)
Amuse-toi bien ...
Merci ucfoutu pour ton effort
Peut-on créer un code qui ajoute une nouvelle propriété au composant
TextBox pour Centrer, Mettre en Haut ou en bas d'un texte quelconque