Hallo an alle Programmierer,
mich beschäftigt schon seit einiger Zeit das Problem Texte mit Zeilenumbruch zu drucken, da dies einfach nicht funktionieren will. Ich habe mir bereits das hier angeschaut
http://msdn.microsoft.com/de-de/library/bb979081.aspx . Dort wird gesagt, dass man Texte mit Zeilenumbruch ganz einfach drucken kann, wenn man der DrawString-Methode als
Parameter ein Umgebungsrechteck mitgibt, aber bei mir wird dieses gar nicht beachtet und der Zeilenumbruch findet überhaupt nicht statt. Hier ist der Code des PrintPage Ereignisses:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim g As Graphics = e.Graphics
g.PageUnit = GraphicsUnit.Point
Dim di As String
di = "Datum: " & ListView1.SelectedItems.Item(0).Text & vbCrLf & "Uhrzeit: " & ListView1.SelectedItems.Item(0).SubItems.Item(1).Text & vbCrLf & "Programm: " & ListView1.SelectedItems.Item(0).SubItems.Item(2).Text & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Text: " & TextBox1.Text
Dim s As StringFormat
s = System.Drawing.StringFormat.GenericDefault
g.DrawString(di, New Font(System.Drawing.FontFamily.GenericMonospace, 18, FontStyle.Regular, GraphicsUnit.Point), Brushes.Black, New RectangleF(e.PageBounds.X, e.PageBounds.Y + 40, e.PageBounds.Width, e.PageBounds.Height - 40), s)
End Sub
Der gedruckte Text geht immer über den Rand hinaus.
Vielleicht hat jemand von euch ne Idee, wo der Fehler liegt oder jemand hat sich schonmal mit dem Thema beschäftigt.