Impression : imprimmer contenu d'un textbox mutiline a la bonne position sans eviter les retours...

Contenu du snippet

Voila, vous est-il déja arrivé d'essayer d'imprimmer qq chose d'un textbox multiline, et vous specifiez "currentx = 400" par exemple, mais lors de l'impression, la premiere ligne est au bon endroit, mais les autres lignes sont imprimmé au mauvais endroit... voici la soluce : imprimmer ligne par ligne...

Ca peut aussi servir pour decoupeur une texte en ligne et stocker dans un array.

Source / Exemple :


'=============================================================

'  Utilisation :
'    ePrint text2.Text, 20, 40, vbRed, 5 ,vbMillimeters
' Imprimer le contenu du textbox "text2", à 20 millimetres a gauche, 40 hauter, en rouge avec 5 en ecart pour chaque ligne

Public Function ePrint(st As String, posX As Integer, posY As Integer, Couleur As OLE_COLOR, EcartLigne As Integer, ScaleMd As ScaleModeConstants)
Dim Str() As String, I As Integer 'Declaration de variables ( array )

    Printer.ForeColor = Couleur  'Ajuste la couleur
    Printer.ScaleMode = ScaleMd  'Ajuste la mesure ( en centimetres, twips

    Str = Split(txtDescription.Text, vbCrLf) ' Découpe le texte et place dans un array

    For I = 0 To UBound(Str)  ' petite boucle pour imprimmer chaque ligne
        amp Str(I), 17, 105 + I * EcartLigne 'Imprimme avec l'ecart de chaque ligne
    Next I  ' Repete jusqu'a ce qu'il ny'a plus rien a imprimmer

Printer.EndDoc  ' Etttttttt...... IMPRIMME !
End Function

Sub amp(Text As String, posX As Integer, posY As Integer) 'Petite fonction pour imprimmer.
Printer.CurrentX = posX  'Ajuste position X
 Printer.CurrentY = posY 'Ajuste position Y
  Printer.Print Text ' ajoute le texte dans le cache imprimmante
End Sub

'=============================================================

Conclusion :


Voila, n'hésitez pas a commenter... faire des remarques, dire les eventuels bugs,...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.