6.6 Formular drucken
In diesem Abschnitt werden im Projekt Drucken einige Möglichkeiten im Zusammenhang mit dem Ausdruck eines Formulars aus einer Visual-Basic-Anwendung heraus vorgestellt, siehe Abbildung 6.36.
Abbildung 6.36 Projekt »Drucken«
Es wird ein zusätzlicher Verweis benötigt. Dazu müssen Sie das Dialogfeld Verweis-Manager öffnen, über das Menü Projekt • Verweis hinzufügen. Unter Assemblys • Erweiterungen markieren Sie die neueste Bibliothek Microsoft.VisualBasic.PowerPacks.Vs.
Nach Betätigung des Buttons Ok erscheint dieser Verweis in der Verweisliste im Projektmappen-Explorer, siehe Abbildung 6.37. Falls die Verweisliste nicht sichtbar ist, so müssen Sie zuerst auf das Symbol Alle Dateien anzeigen klicken, im Bild das Vierte von rechts.
Abbildung 6.37 Projekt »Drucken«, Verweisliste
Anschließend können Sie im Code-Bereich oberhalb der Klasse Form1 die folgende Zeile hinzufügen:
Imports Microsoft.VisualBasic.PowerPacks.Printing
Public Class Form1
...
Listing 6.34 Projekt »MSOffice«, Imports-Anweisung
Damit wird aus der Bibliothek der Namensraum Microsoft.VisualBasic.PowerPacks.Printing importiert und kann innerhalb des Programms genutzt werden.
6.6.1 Druck und Seitenvorschau
Zunächst der Code zum Drucken beziehungsweise zum Erstellen einer Seitenvorschau:
Private Sub cmdDrucken_Click(...) Handles ...
Dim pf As New PrintForm
pf.Form = Me
pf.PrintAction = System.Drawing.Printing.
PrintAction.PrintToPrinter
pf.Print()
End Sub
Private Sub cmdSeitenvorschau_Click(...) Handles ...
Dim pf As New PrintForm
pf.Form = Me
pf.PrintAction = System.Drawing.Printing.
PrintAction.PrintToPreview
pf.Print()
End Sub
Listing 6.35 Projekt »Drucken«, Teil 1
Zur Erläuterung:
- Es wird ein neues Objekt der Klasse PrintForm aus dem Namensraum Microsoft.VisualBasic.PowerPacks.Printing erzeugt. Diese Klasse ermöglicht das Drucken von Formularen.
- Die Eigenschaft Form des Objekts verweist auf das auszudruckende Formular. Dieses ist im vorliegenden Fall das Objekt Me, also das aktuelle Formular der Anwendung.
- Die Eigenschaft PrintAction legt das Ziel des Ausdrucks fest:
- an einen Drucker: PrintToPrinter
- zunächst in eine Seitenvorschau: PrintToPreview
- in eine Datei: PrintToFile
- Beachten Sie: Die Enumeration PrintAction, aus der diese Werte stammen, kommt aus dem Namensraum System.Drawing.Printing. Dieser sollte nicht mit dem Namensraum Microsoft.VisualBasic.PowerPacks.Printing verwechselt werden.
- Die Methode Print() führt schließlich zur Ausgabe an das gewählte Ziel. Aus der Seitenvorschau kann dann per Klick auf das Druckersymbol gedruckt werden.
6.6.2 Druckeinstellungen
Mithilfe des nachfolgenden Programmteils sehen Sie, wie Sie eine Reihe von Druckeinstellungen ändern oder abrufen können, siehe Abbildung 6.38.
Abbildung 6.38 Projekt »Drucken«, Druckeinstellungen
Es folgt der Code:
Private Sub cmdInfo_Click(...) Handles ...
Dim pf As New PrintForm
Dim ausgabe As String
pf.PrinterSettings.FromPage = 2
pf.PrinterSettings.ToPage = 4
pf.PrinterSettings.Copies = 2
ausgabe = pf.PrinterSettings.PrinterName & vbCrLf
If pf.PrinterSettings.SupportsColor Then
ausgabe &= "Ist ein Farbdrucker" & vbCrLf
Else
ausgabe &= "Ist kein Farbdrucker" & vbCrLf
End If
ausgabe &= "Druckt von Seite " &
pf.PrinterSettings.FromPage & " bis " &
pf.PrinterSettings.ToPage & vbCrLf
ausgabe &= "Anzahl Kopien: " &
pf.PrinterSettings.Copies & vbCrLf
ausgabe &= "Höhe in cm " &
pf.PrinterSettings.DefaultPageSettings.
PaperSize.Height * 2.54 / 100 & vbCrLf
ausgabe &= "Breite in cm " &
pf.PrinterSettings.DefaultPageSettings.
PaperSize.Width * 2.54 / 100 & vbCrLf
MessageBox.Show(ausgabe)
End Sub
Listing 6.36 Projekt »Drucken«, Teil 2
Zur Erläuterung:
- Die Eigenschaft PrinterSettings des Objekts der Klasse PrintForm beinhaltet eine Reihe von Druckeinstellungen, die Sie ändern oder abrufen können.
- Die Eigenschaften FromPage, ToPage und Copies bestimmen darüber, welche Seiten gedruckt werden und wie viele Kopien erstellt werden.
- Die Eigenschaft PrinterName gibt Marke und Typ des Druckers aus. SupportsColor ist vom Typ Boolean und beinhaltet die Information, ob der benutzte Drucker in Farbe ausdrucken kann oder nicht.
- Die Eigenschaft DefaultPageSettings steht für die Standardseiteneinstellungen des benutzten Druckers. Die Untereigenschaften Height und Width der Eigenschaft PaperSize geben die Seitengröße in 1/100 Zoll an. Mithilfe des Faktors 2,54 kann der Wert in cm umgerechnet werden.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.