Listbox

protozorus Messages postés 38 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 novembre 2007 - 16 févr. 2006 à 09:59
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 16 févr. 2006 à 15:37
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

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
16 févr. 2006 à 15:37
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.
0
Rejoignez-nous