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 

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 200 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 200 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
Statut
Membre
Dernière intervention
30 mars 2014
3
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 200 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