Impression d'un Label avec retour à la ligne sur VB6

patrouchkoukss Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 8 octobre 2008 - 24 sept. 2008 à 13:45
patrouchkoukss Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 8 octobre 2008 - 24 sept. 2008 à 16:44
Bonjour à tous !

Je poste ce message sur le forum car je n'ai toujours pas trouvé le moyen d'imprimer mon label, même avec l'aide des réponses déja postées sur le forum et qui concerne à peu de choses près le même sujet...

La solution avec API DrawText j'dois vous avouer que j'y ai absolument rien compris.

Et j'en avais trouvé aussi deux autres avec des boucles : l'un nécessitant de connaitre l'utilisation d'une police ayant d caractères de taille identique afin de faire un retour à la ligne qui va bien avant la fin de la page et l'autre faisant des calculs savants tout seul qui devaient permettre l'impression sur plusieurs lignes sans problème quelque soit la police ...
Résultat de ces deux programmes : le premier ne marche pas et le deuxième m'a tout imprimé sur 1 ligne...à la verticale ..

Merci d'avance pour votre aide !!

5 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 sept. 2008 à 13:51
Bonjour,

on va commencer par ce par quoi il faut commencer :
Imprimer sur quoi ? l'imprimùante ou l'écran ?
0
patrouchkoukss Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 8 octobre 2008
24 sept. 2008 à 13:58
Sur l'imprimante !!
A l'écran sur mon label le retour à la ligne se fait sans problème.
C'est l'imprimante qui coupe à la fin de la largeur de la page...
0
patrouchkoukss Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 8 octobre 2008
24 sept. 2008 à 14:08
Voici le message qu'une autre personne avec le même problème avait posté il y a quelques années .. et la réponse qu'on lui a donné .. :

Je souhaite imprimer le contenu d'un label ou d'un textBox ou
directement un texte via printer.print "". Mon problème est le suivant:

-J'arrive bien à imprimer mais si j'ai un label ou un textBox d'une
taille fixée alors le texte effectue des retours à la ligne (retour
chariot). Le problème c'est que lorsque je lance l'impression les
retours chariots ne sont pas pris en compte. Et sur la feuille tout est
imprimé à a suite. Si le texte dépasse la largeur de la feuille alors
il n'est pas imprimé.


Pourriez vous m'aider SVP. Ca fait un moment que je planche dessus.


Merci

Réponse obtenue :

Pour les impressions tu dois gérer tout cela toi-même ! C'est lourd en effet, mais il n'y a pas bcp d'autre possibilité !!

Christophe R
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 sept. 2008 à 16:37
L'onjet Printer fonctionne comme ine pisturebox
Je n'ai pas d'imprimante branchée et fais donc ce test, avec un label normal et une picturebox :

Private Sub Command1_Click()
For i = 1 To 5
Label1.Caption = Label1.Caption & vbCrLf & "blabla"
Next
DoEvents
Picture1.Print Label1.Caption
End Sub

Je vois que mes retours-charriot sont là et ils seraient donc également là en imprimant.
Il s'agit toutefois de VRAIS retours-charriot et non de "sauts de lignes d'affichage" (qui ne sont pas des retours-charriot ...)

Si ton label ne comporte pas de VRAIS retours-charriot, il va te falloir les créer toi-même avant d'imprimer ton texte. Pour celà, il va te falloir utiliser TextWidth et ajouter un vbcrlf chaque fois qu'arrivé à un espace, la largeur physique de la chaîne à imprimer sera égale ou supérieure à la largeur de ton label.

C'est réalisable, certes...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
patrouchkoukss Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 8 octobre 2008
24 sept. 2008 à 16:44
Merci beaucoup je vais essayer ça et je te tiens au courant si j'ai encore un soucis .. Bonne soirée !
0
Rejoignez-nous