Listbox

Signaler
Messages postés
38
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
1 novembre 2007
-
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
-
Bonjour,

je suis sous vb6,j'imprime des listbox avec l'objet printer. je voudrais savoir s'il est possible d'imprimer un champs d'une liste sur deux lignes si celui ci est trop long.

si mon champs contient plus de 80 caracteres je voudrais l'imprimer sur deux lignes: comment faire?

Printer.CurrentX = 15 'ingestion
Printer.CurrentY = 140
Printer.FontItalic = False
Printer.FontBold = True
For i = 0 To frmapercu.List9.ListCount - 1
nb = Len(frmapercu.List9.List(i))
If nb > 80 Then
Printer.FontSize = 6
Else: Printer.FontSize = 8
End If
End If
Printer.CurrentX = 15
Printer.Print (frmapercu.List9.List(i))
Next i

merci du coup de main

1 réponse

Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Salut,

imprimes les 80 premiers caractères, puis le reste de la chaîne:



s = frmapercu.List9.List(i)

nb=len(s)

if nb > 80 then

printer.print left(s,80)

printer.print right(s,nb-80)

else

Printer.Print (s)

end if



Tu peux aussi écrire 2 lignes en 1 seule instruction

printer.print left(s,80) & vbcrlf & right(s,nb-80)

Mais tu perdrais le currentX.