cs_tolt
Messages postés269Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 4 avril 2019
-
26 nov. 2008 à 19:10
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 2013
-
27 nov. 2008 à 09:42
Bonsoir,
Avez-vous la solution car j'en peux plus...
Je veux rendre 2 champs de même taille à partir d'un champ initiale de ma windows pour un cadrage.
La police est ARIAL size 9.
Le champ text1 ="35000,00" par exemple.
Le champ text2= est initialisé par la fonction et doit avoir la même longueur que le champ text1 comblé par des blancs " "
Je vous join mon code éventuellement.Grand Merci d'avance à celui qui pourras me trouver la solution.
Moi j'arrive pas !!!
Public Function CadreDroite(ByVal ChaineSource As String) As StringIf Trim(ChaineSource "") "" Then
CadreDroite = ""
Exit Function
End If
With Me
.Text2.Text = ChaineSource
Do
If TextWidth(.Text2.Text) >= TextWidth(.Text1.Text) Then
CadreDroite = .Text2.Text
Exit Function
End If
.Text2.Text = " " & .Text2.Text
Loop
End With
End Function
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 27 nov. 2008 à 08:40
Bon...
Si c'est pour celà, un conseil :
Au lieu de te lancer dans des calculs de largeurs graphiques, utilise tout simplement une police de caractères à espacement fixe et calcule uniquement avec le nombre de caractères.
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 26 nov. 2008 à 21:02
Bonjour,
le code que tu nous montres ne nous en dit pas beaucoup, réellement, sur le but à atteindre (et tes explications pas vraiment non plus).
Ja vais donc me contenter de ceci :
- L'utilisation de TextWidth nécessite la détermination de la police utilisée (détermination qui doit précéder l'utilisation de TextWidth)
- Il me parait (je le devine) important que les polices utilisées dans les deux textboxes soient (et leurs propriétés avec) les mêmes, sauf à faire une double acrobatie)
- voilà commen1. tu peux calculer une largeur graphique d'un texte de Text1
Set Font = Text1.font
largeur = textwidth(text1.text)
J'ai écrit là à main levée... essaye et joue avec comme tu l'entends
cs_tolt
Messages postés269Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 4 avril 2019 27 nov. 2008 à 07:33
En fait mon problème malgret l'explication un peu durdur à comprendre est simple.Je veux simplement cadrer des champs numéric pour mon édition.
Exemple : j'ai deux champs un qui est 4,51 et 3500,00 je veux obtenir dans un lisView que j'imprime ensuite ceci:
4,51
3500,00
Devant le chiffre 4,51 il y a des blanc et ma police est ARIAL size 9...
Merci beaucoup de votre aide en tout cas car moi là je suis largué !!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 27 nov. 2008 à 09:42
Fais-toi donc un petit outil, genre :
Private Sub Command1_Click()
essayons = Array("courier", "Fixedsys", "Arial") 'mets ici tes polices à essayer ou utilise enumfonts
For i = 0 To UBound(essayons)
Label1.Font = essayons(i)
toto = pourvoir("blabblaqqqqssssssqqqqqqq")
titi = pourvoir("voilà")
tata = pourvoir("vodddddilà")
Label1.Caption = vbCrLf & toto & vbCrLf & titi & vbCrLf & tata
MsgBox "on regarde " & Label1.FontName
Next
End Sub
Private Function pourvoir(chaine As String) As String
pourvoir = Space(50 - Len(chaine)) & chaine
End Function
Assure-toi de donner une grande largeur à ton label et note les polices qui t'intéressent.