Leute ich bins mal wieder und habe mal wieder eine Frage:
Ich hab jetzt anhand eines Tutorials auf dieser Seite es geschafft einen Text, Rechtecke und Linien auf ein PrintDocument zu bekommen.
Ich bin dabei VB besser kennenzulernen und möchte nun eine Art Playliste drucken für meinen Mediaplayer.
Die Daten dafür habe ich in einer Listview. Die Items und Subitems auslesen schaff ich schon jedoch hab ich ein Problem:
Wenn ich jetzt ca 30 Lieder in meiner Playliste habe, dann druckt mir das PrintDocument nur eine Seite.
Derzeit habe ich eine For Schleife um das ganze Prozedere überhaupt zu verstehen (den Integer (i) lass ich mir derzeit dazu ausgeben um zu sehen welche Zeile das gerade ist:
VB.Net Quellcode
Posy wird am Anfang auf 230 gesetzt
Derzeit schau ich mir das Resultat auf eine PrintPreviewDialog an welchen ich mit einem Button aufrufe, Resultat: ich komme nur bis Zeile 13
Mit index weiterschalten hab ich hier auch schon was gefunden, geht auch schon in die richtige Richtung, doch ich weiß nicht wie ich das umsetzen soll, deswegen hab ichs vorerst wieder aus dem Programm rausgenommen.
Screenshot ist im Anhang.
Hoffe ich hab alles gut erklärt und einer von euch genialen Genies kann mir weiterhelfen. Danke
Edit 22:03: Problem selber gefunden auf dieser Seite, Danke an @Dodo, welcher dies schon einmal einem anderen User erklärt hat. Habe den Code:
VB.Net Quellcode
für mein Programm anpassen und verwenden können.
Ich hab jetzt anhand eines Tutorials auf dieser Seite es geschafft einen Text, Rechtecke und Linien auf ein PrintDocument zu bekommen.
Ich bin dabei VB besser kennenzulernen und möchte nun eine Art Playliste drucken für meinen Mediaplayer.
Die Daten dafür habe ich in einer Listview. Die Items und Subitems auslesen schaff ich schon jedoch hab ich ein Problem:
Wenn ich jetzt ca 30 Lieder in meiner Playliste habe, dann druckt mir das PrintDocument nur eine Seite.
Derzeit habe ich eine For Schleife um das ganze Prozedere überhaupt zu verstehen (den Integer (i) lass ich mir derzeit dazu ausgeben um zu sehen welche Zeile das gerade ist:
VB.NET-Quellcode
- Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
- e.Graphics.DrawString("Jahr", New Font("arial", 12), Brushes.Black, New Point(75, 160))
- e.Graphics.DrawRectangle(Pens.Black, 125, 160, 315, 25)
- e.Graphics.FillRectangle(Brushes.Black, 125, 160, 315, 25)
- e.Graphics.DrawString("Titel", New Font("arial", 12), Brushes.White, New Point(125, 160))
- e.Graphics.DrawRectangle(Pens.Silver, 125, 185, 315, 25)
- e.Graphics.FillRectangle(Brushes.Silver, 125, 185, 315, 25)
- e.Graphics.DrawString("Interpret", New Font("arial", 12), Brushes.Black, New Point(125, 185))
- e.Graphics.DrawLine(Pens.Black, 75, 220, 750, 220)
- For i As Integer = 0 To 30
- e.Graphics.DrawString("Jahr", New Font("arial", 12), Brushes.Black, New Point(75, posy))
- e.Graphics.DrawRectangle(Pens.Black, 125, posy, 315, 25)
- e.Graphics.FillRectangle(Brushes.Black, 125, posy, 315, 25)
- e.Graphics.DrawString("Titel " & i, New Font("arial", 12), Brushes.White, New Point(125, posy))
- e.Graphics.DrawRectangle(Pens.Silver, 125, posy + 25, 315, 25)
- e.Graphics.FillRectangle(Brushes.Silver, 125, posy + 25, 315, 25)
- e.Graphics.DrawString("Interpret " & i, New Font("arial", 12), Brushes.Black, New Point(125, posy + 25))
- e.Graphics.DrawLine(Pens.Black, 75, posy + 60, 750, posy + 60)
- posy += 70
- Next
- End Sub
Posy wird am Anfang auf 230 gesetzt
Derzeit schau ich mir das Resultat auf eine PrintPreviewDialog an welchen ich mit einem Button aufrufe, Resultat: ich komme nur bis Zeile 13
Mit index weiterschalten hab ich hier auch schon was gefunden, geht auch schon in die richtige Richtung, doch ich weiß nicht wie ich das umsetzen soll, deswegen hab ichs vorerst wieder aus dem Programm rausgenommen.
Screenshot ist im Anhang.
Hoffe ich hab alles gut erklärt und einer von euch genialen Genies kann mir weiterhelfen. Danke
Edit 22:03: Problem selber gefunden auf dieser Seite, Danke an @Dodo, welcher dies schon einmal einem anderen User erklärt hat. Habe den Code:
VB.NET-Quellcode
für mein Programm anpassen und verwenden können.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Pat Rick“ ()