VB6 impression

Résolu
James2001 Messages postés 3 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mai 2007 - 18 mai 2007 à 07:19
James2001 Messages postés 3 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mai 2007 - 20 mai 2007 à 12:10
Bonjour,

Je suis entrain de faire un programme de facturation. Jusque tout va bien :)

Mais lorsque j'imprime, la première foi ca marche, j'ai toute la facture, et la 2eme foi j'ai juste un " 5 " qui aparait.

Voila le code :

    Printer.PaintPicture Picture1.Picture, 500, 1000
    Printer.ScaleMode = 6
    Printer.CurrentX = 20
    Printer.CurrentY = 100
    Printer.FontBold = True
    Printer.FontSize = 14


    Printer.Print ("5")
    Printer.EndDoc

Je comprend pas commen ca peux marché 1foi, et plus la foi d'apres. Quand je redemarre le projet ca marche de nouveau 1 foi correctement puis de nouveau que le 5.

Merci de votre aide

6 réponses

James2001 Messages postés 3 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mai 2007
20 mai 2007 à 12:10
Non ce n'est pas le double, j'ai aussi prie en compt ta 2eme remarque :)

voici la solution

Printer.ScaleMode = 1
Printer.PaintPicture Picture1.Picture, 500, 1000'Image de la facture Picture1.Picture="facture.jpg"
Printer.ScaleMode = 6
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 mai 2007 à 07:42
Bonjour,
On ne voit pas la procédure en entier !

On devine alors que ta procédure d'impression ne reprend pas depuis :
Printer.PaintPicture Picture1.Picture, 500, 1000

Si ce que tu cherches à faire esr en fait tout simplement l'impression en plusieurs exemplaires, ce n'est pas ainsi qu'il faut faire; mais utiliser la propriéré Copies de l'objet Printer
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 mai 2007 à 07:59
Je relis ton code et pars maintenant du proncipe selon lequel tu reprends bien l'impression depuis le Printer.PaintPicture........

Question : As-tu bien pensé à mettre à True la propriété Autoredraw de la PictureBox Picture1 ? (car si tu affiche autre chose entre temps elle redeviendrait vide dans celà).
Je te conseille également de figer lr dessin de ta picturebox Picture1 par l'instruction
Picture1.Picture = Picture1.Image dès que tu as fini de "peindre" dans Picture1
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 mai 2007 à 08:19
de toute façon, je vois pas l'intérêt de peindre dans un picturebox pour l'imprimer : si tu y mets du texte, il va être imprimé de façon très pixélisé !
0

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

Posez votre question
James2001 Messages postés 3 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mai 2007
19 mai 2007 à 14:01
Private Sub CmdImprimer_Click()
  
    Printer.PaintPicture Picture1.Picture, 500, 1000 'Image de la facture Picture1.Picture="facture.jpg"
    Printer.ScaleMode = 6
    Printer.CurrentX = 20
    Printer.CurrentY = 100
    Printer.FontBold = True
    Printer.FontSize = 14


    Printer.Print ("5")
    Printer.EndDoc


End Sub

J'ai passer le AutoRedraw à true ca ne change rien

Donc lorsque je click la première foi sur le bouton imprimé tout va bien. Mais pour la facture suivante ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 mai 2007 à 14:16
"Mais pour la facture suivante ..."



1) la facture suivante est-elle un double de la 1ère ?



2) qu'as-tu fait de ma deuxième remarque (voir plus haut) ? Tu t'es contenté de la lire ou tu en as profité pour ouvrir ton aide en ligne sur le mot image ?

On ne voit toujours pas le code par lequel tu définis puis figes (dans ta picturebox), le "dessin" du texte de ta facture.

La remarque de DARKSIDIOUS (lis-la donc encore et encore) est par ailleurs totalement fondée. On ne cessera de répêter ce genre de choses.
0
Rejoignez-nous