Dessiner plusieurs pages sur un PrintDocument [Résolu]

- - Dernière réponse :  Zermelo - 26 sept. 2012 à 22:09
Étant illettré, je signe d'une croix : ×
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
3
Merci
N'étant pas devin, je laisse vide le reste de la page.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
Bonjour,

En principe le PrintDocument contient l'ensemble du document auquel il correspond. Regarde dans ton aide, il doit y avoir une propriété HasMorePages ou quelque chose du genre.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Dernière intervention
30 mars 2014
3
Merci
Bonjour,

En complément : Je crois bien que c'est toi qui décide du nombre de page par le contrôle que tu as sur ce que tu envvoies à l'imprimante : code :

' Impression logique : OBJET = PrintDocument
Sub Button2_Click(
 i = 0 ' GLOBAL AFFECTE A CETTE SEULE FONCTION 
 Dim r As String = MsgBox("Imprimer sur PAPIER", vbQuestion + vbYesNo + 
 vbDefaultButton2)
 If r <> vbYes Then Exit Sub
 Dim PageSetupDialog As New PageSetupDialog() ' objet = PageSetupDialog
 PageSetupDialog.Document = PrintDocument1
 PageSetupDialog.PageSettings.Landscape True ' paysage (portrait False)
 Me.PrintDocument1.Print()
End Sub

' impression physique (papier)
Sub PrintDocument1_PrintPage(
 Dim police As New Font("Courier New", 12, FontStyle.Regular)
 Dim yPos As Integer = 10 ' pixels
 Do While i < ListBox1.Items.Count
  e.Graphics.DrawString(ListBox1.Items(i), police, Brushes.Black, 10, yPos)
  Select Case i 
   Case 3, 6, 9
     e.HasMorePages = True ' saut de page
      i = i + 1
     Return ' retour saut de page à Me.PrintDocument1.Print()
  End Select
  yPos = yPos + police.GetHeight
  i = i + 1
 Loop
End Sub



Cordialement, Joe.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ehjoe
0
Merci
Bonjour.

Je voudrais savoir si, quand on dessine sur un PrintDocument, il suffit de dépasser le format d'une page pour en créer automatiquement une nouvelle.

Merci à qui voudra m'aider.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Bonjour Joe.

Je me demandais aussi pourquoi diable ce booléen HasMorePages est accessible en écriture. Je vais essayer cela le plus vite possible (en me limitant à deux pages dans un premier temps), et je vous en ferai un compte rendu.

Un grand merci.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Bonjour cmarcotte, bonjour EhJoe.

Cela fonctionne à merveille, au prix de quelques ajustements mineurs.

Encore merci à vous deux.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo

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.