Hallo Manfred!
Ich möchte nicht nerven, aber ich bekomme es einfach nicht.
Zumindest bekomme ich schon mal hin, wieviele Seiten gedruckt werden sollen
Bild list.count / 3 da nur 3 Bilder auf je eine Seite passen.
Wo muß ich was wie machen, damit nach den ersten 3 Bildern auf die 2 ... 3 etc. Seite gedruckt wird.
Private aktuelleSeite As Integer
'...
Private Sub P5_CMB_Drucken_Click(sender As System.Object, e As _
System.EventArgs) _
Handles P5_CMB_Drucken.Click
aktuelleSeite = 0
With PrintPreviewDialog1
.Document = PrintDocument1
If .ShowDialog() = System.Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End With
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As _ _
System.Drawing.Printing.PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
Dim gr As Graphics = e.Graphics
gr.PageUnit = GraphicsUnit.Millimeter
gr.PageScale = 1.0
Dim acXPos As VariantType = 15
Dim acYPos As VariantType = 5
Dim ok As Bitmap = Me.ImageList1.Images(0)
Dim no As Bitmap = Me.ImageList1.Images(1)
Dim BildDir As New System.IO.DirectoryInfo(WMFFile)
Dim BildFiles As System.IO.FileInfo() = BildDir.GetFiles("*_D.wmf")
Dim BildFile As System.IO.FileInfo
PrintDocument1.PrinterSettings.PrinterName = P5_CB_Druckerauswahl.Text
Dim MyFont14 As New System.Drawing.Font("Arial", 14, _
Drawing.FontStyle.Bold)
Dim MyFont12 As New System.Drawing.Font("Arial", 12, _
Drawing.FontStyle.Regular)
Dim MyFont10 As New System.Drawing.Font("Arial", 10, _
Drawing.FontStyle.Regular)
Dim MyDir As New System.IO.DirectoryInfo(DWGFile)
Dim MyFiles As System.IO.FileInfo() = MyDir.GetFiles("*.dwg")
Dim MyFile As System.IO.FileInfo
Dim MGruppe As String = Microsoft.VisualBasic.Right(DWGFile, 3)
Try
gr.DrawString(DWGFile, MyFont14, Brushes.Black, acXPos, acYPos)
gr.DrawLine(Pens.Red, acXPos, acYPos + 12, acXPos + 190, acYPos + _
12)
gr.DrawString("Für die Materialgruppe - " & MGruppe & " - gibt es" & _
"folgende Blöcke:", _ _
MyFont12, Brushes.Black, acXPos, acYPos + 20)
'gr.DrawImage(BlockBild, acXPos, acYPos + 30)
Dim ImportPfad As String
ImportPfad = ALLPA_TB_Pfad.Text & "\"
Dim DateiName As String
DateiName = "*_D.dwg"
Dim ParentFileName As String = Microsoft.VisualBasic.Dir(ImportPfad _
& DateiName)
Dim BasicFileName As String
Dim fso As System.IO.File
Dim wmfList As New List(Of Bitmap)
Do While ParentFileName <> ""
BasicFileName = ParentFileName.Remove(ParentFileName.Length - _
6, 6)
Dim BildName As String
BildName = BasicFileName & "_D.wmf"
'--Bild einfügen---
Dim BlockBild As Bitmap = New Bitmap(ImportPfad & BildName)
wmfList.Add(BlockBild)
gr.DrawImage(BlockBild, acXPos, acYPos + 30)
'--Dateinamen _D.dwg einfügen--
Dim FileName_D As String
FileName_D = BasicFileName & "_D.dwg"
gr.DrawString(FileName_D, MyFont10, Brushes.Black, acXPos + _
100, acYPos + 30)
If fso.Exists(ImportPfad & FileName_D) Then
gr.DrawImage(ok, acXPos + 90, acYPos + 30)
Else
gr.DrawImage(no, acXPos + 90, acYPos + 30)
End If
'...
'...
acYPos = acYPos + 70
ParentFileName = Microsoft.VisualBasic.Dir()
Loop
e.HasMorePages = (aktuelleSeite < (wmfList.Count / 3))
aktuelleSeite += 1
End Sub Für Hilfe wäre ich echt dankbar.
mfg.
Dirk |