Printer-Objekt für Visual Basic 6.0-Benutzer
Aktualisiert: November 2007
Das Printer-Objekt von Visual Basic 6.0 wird in Visual Basic 2008 durch die PrintDocument-Komponente ersetzt. Obwohl das Verhalten beider Komponenten voneinander abweicht, kann die Funktionalität in den meisten Fällen dupliziert werden.
Konzeptionelle Unterschiede
In Visual Basic 6.0 wird zum Drucken ein Printer-Objekt erstellt, wobei Text und Grafiken mithilfe von Grafikmethoden auf eine virtuelle Seite gezeichnet werden. Mithilfe von Eigenschaften und Methoden können Druckereigenschaften, z. B. DeviceName, PrintQuality oder Copies, angegeben werden. Andere Eigenschaften, z. B. Orientation und PaperSize, werden zusammen mit den Seiteneigenschaften festgelegt. Die EndDoc-Methode sendet die Ausgabe an den Drucker, der in der Printers-Auflistung als Standarddrucker für die Anwendung definiert ist.
In Visual Basic 2008 ist das Printer-Objekt nicht mehr vorhanden. Verwenden Sie stattdessen die PrintDocument-Komponente, um Text und Grafiken zu definieren. Mithilfe des PrinterSettings-Objekts können Sie die Druckereigenschaften definieren, und mithilfe der PageSettings-Klasse die Seiteneigenschaften.
Hinweis: |
---|
Visual Basic 2008 verfügt über ein Printer-Objekt, das ein Ausführen von aktualisiertem Visual Basic 6.0-Printer-Code ohne Änderungen ermöglicht. Für Neuentwicklungen sollten Sie PrintDocument verwenden. |
Der Druckvorgang ist nun nicht mehr an ein bestimmtes Gerät gebunden, und auch das Konzept eines für jede Anwendung vorgesehenen Standarddruckers besitzt keine Gültigkeit mehr. Stattdessen können Sie nun mit der PrintPage-Methode der PrintDocument-Komponente auf ein beliebiges Gerät drucken, während der Standarddrucker für das gesamte System verfügbar ist. Mithilfe der Komponenten PrintDialog, PrintPreviewDialog und PageSetupDialog kann der Benutzer einen Drucker sowie die zur Laufzeit gültigen Druckoptionen auswählen.
ColorMode-Eigenschaft
In Visual Basic 6.0 steuert die ColorMode-Eigenschaft, ob die Ausgabe auf dem Farbdrucker in Graustufen erfolgen soll.
In Visual Basic 2008 wird diese Eigenschaft je nach Drucker als erweiterte Option bereitgestellt. Mithilfe der SupportsColor-Eigenschaft der PrinterSettings-Klasse können die von einem Drucker unterstützten Farben festgelegt werden.
DriverName-Eigenschaft
In Visual Basic 6.0 wird mit der DriverName-Eigenschaft des Printer-Objekts ein Druckertreiber angegeben. In älteren Versionen von Windows und MS-DOS hatten Druckertreiber die Funktion, die Ausgabe so zu übersetzen, dass sie von jedem Druckermodell bzw. jeder Druckermarke interpretiert werden konnte. Ab Visual Basic 6.0 war dies größtenteils nicht mehr erforderlich, die Eigenschaft wurde jedoch aus Gründen der Abwärtskompatibilität weiterhin bereitgestellt.
In Visual Basic 2008 ist die DriverName-Eigenschaft nicht mehr vorhanden. Druckertreiber werden jetzt von Windows verwaltet, und Sie können keine anderen Treiber mehr angeben.
hDC-Eigenschaft
In Visual Basic 6.0 wird mit der hDC-Eigenschaft des Printer-Objekts das Handle für einen Gerätekontext (eine Verknüpfung zwischen einer Windows-basierten Anwendung, einem Gerätetreiber und einem Ausgabegerät, z. B. einem Drucker) angegeben.
In Visual Basic 2008 ist die hDC-Eigenschaft nicht mehr vorhanden. Die Entsprechung zum Gerätekontext wird mit einer Instanz der PrintDocument-Komponente gebildet.
Hinweis: |
---|
Obwohl sich die Verwendung von Handles für Gerätekontexte erübrigt, werden für Grafikobjekte die GetHdc-Methode und die ReleaseHdc-Methode bereitgestellt, die in fortgeschrittenen Szenarios verwendet werden können. |
Page -Eigenschaft
Die Page-Eigenschaft von Visual Basic 6.0 gibt die Anzahl der Seiten zurück, die seit dem Start der Anwendung oder dem letzten Vorkommen der EndDoc-Anweisung auf dem Printer-Objekt ausgedruckt wurden. Diese Eigenschaft wird häufig dazu verwendet, während des Druckvorgangs auf jeder Seite eine Seitenzahl einzufügen.
In Visual Basic 2008 werden Seitenzahlen nicht verfolgt. Die Zählung lässt sich jedoch problemlos ausführen, indem Sie im BeginPrint-Ereignis eine Variable festlegen und diese im PrintPage-Ereignis erhöhen.
Port-Eigenschaft
Die Port-Eigenschaft von Visual Basic 6.0 gibt den Namen des Anschlusses zurück, über den das Dokument zum Drucker gesendet wird.
In Visual Basic 2008 ist die Port -Eigenschaft nicht mehr vorhanden. Mithilfe des PrintDialog-Steuerelements und des PrintPreviewDialog-Steuerelements werden die Anschlussinformationen automatisch verwaltet.
RightToLeft-Eigenschaft
Die RightToLeft-Eigenschaft von Visual Basic 6.0 bestimmt, wie das Printer-Objekt die Ausgabe auf einer bidirektionalen Plattform (z. B. Arabic Windows 95 oder Hebrew Windows 95) formatieren soll.
In Visual Basic 2008 ist die RightToLeft-Eigenschaft nicht mehr vorhanden. Die Druckrichtung wird in neueren Windows-Versionen durch die Lokalisierungseinstellungen gesteuert.
TrackDefault-Eigenschaft
Die TrackDefault-Eigenschaft von Visual Basic 6.0 gibt an, ob ein Printer-Objekt immer auf denselben Drucker zeigt oder ob das Objekt den Drucker, auf den es zeigt, ändert, wenn die Einstellung des Standarddruckers in der Systemsteuerung des Betriebssystems geändert wird. Wenn die Einstellung der TrackDefault-Eigenschaft bei laufendem Druckauftrag geändert wird, wird der Druckvorgang sofort angehalten.
In Visual Basic 2008 ist die TrackDefault-Eigenschaft nicht mehr vorhanden. Mithilfe der IsDefaultPrinter-Eigenschaft der PrinterSettings-Klasse kann festgelegt werden, ob ein Drucker als Standarddrucker fungiert, bei Änderung des Standarddruckers wird der Druckvorgang jedoch nicht mehr angehalten.
Zoom-Eigenschaft
Die Zoom-Eigenschaft von Visual Basic 6.0 legt den Prozentsatz fest, der zur Aufwärts- bzw. Abwärtsskalierung der gedruckten Ausgabe verwendet wird. Beispielsweise enthält eine Seite, die im Format Letter und mit einem Zoom-Faktor von 50 ausgedruckt wird, genauso viele Daten wie eine Seite des Formats 43 mal 59 cm. Das liegt daran, dass Text und Grafiken auf die Hälfte der ursprünglichen Länge und Breite skaliert werden.
In Visual Basic 2008 ist die Zoom -Eigenschaft nicht mehr vorhanden. Wenn ein Drucker über Zoomfunktionen verfügt, werden die entsprechenden Einstellungen automatisch im Dialogfeld Drucken bereitgestellt. Vor Zuweisung an die PrintDocument-Komponente können Sie die Ausgabe auch mithilfe der Grafikmethoden skalieren.
Grafikeigenschaften und -Methoden
In Visual Basic 6.0 sind verschiedene Eigenschaften und Methoden verfügbar, um Linien, Formen und Text auf einem Printer-Objekt zu zeichnen.
In Visual Basic 2008 sind für die meisten Objekte keine eigenen Grafikeigenschaften und -methoden mehr verfügbar. Sie können jedoch auch weiterhin Linien, Formen und Text zeichnen, indem Sie ein Graphics-Objekt erstellen und verwenden. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer.
Änderungen am Code des Printer-Objekts
Wegen der beträchtlichen Abweichungen zwischen dem in Visual Basic 6.0 und dem in Visual Basic 2008 verwendeten Druckmodell ist ein Vergleich der jeweiligen Codierungstechniken wenig sinnvoll. Ein Beispiel für das Drucken in Visual Basic 2008 finden Sie unter Beispiel für Drucken.
Entsprechungen zu Eigenschaft und Methoden des Printer-Objekts
In den folgenden Tabellen werden Visual Basic 6.0-Eigenschaften und -Methoden zusammen mit ihren Visual Basic 2008-Entsprechungen aufgeführt. Die Eigenschaften und Methoden, die über denselben Namen und dasselbe Verhalten verfügen, werden dabei nicht berücksichtigt. Alle Visual Basic 2008-Enumerationen werden, sofern nicht anders angegeben, dem System.Windows.Forms-Namespace zugeordnet.
In dieser Tabelle werden Links zu Themen bereitgestellt, in denen Unterschiede im Verhalten erläutert werden. Wenn in Visual Basic 2008 keine direkte Entsprechung vorhanden ist, werden Links zu Themen bereitgestellt, die Alternativen behandeln.
Eigenschaften
Visual Basic 6.0 |
Visual Basic 2008-Entsprechung |
---|---|
ColorMode |
Neue Implementierung. Mithilfe der SupportsColor-Eigenschaft der PrinterSettings-Klasse können die von einem Drucker unterstützten Farben festgelegt werden. |
Copies |
Die Copies-Eigenschaft der PrinterSettings-Klasse. |
CurrentX CurrentY |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
DeviceName |
Die PrinterName-Eigenschaft der PrinterSettings-Klasse. |
DrawMode DrawStyle DrawWidth |
Neue Implementierung. Ausführliche Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
DriverName |
Neue Implementierung. Nicht länger erforderlich; Druckertreiber werden von Windows verwaltet. |
Duplex |
Die Duplex-Eigenschaft der PrinterSettings-Klasse. |
FillColor FillStyle |
Neue Implementierung. Ausführliche Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Font FontBold FontCount FontItalic FontName Fonts FontSize FontStrikeThru FontTransparent FontUnderline |
Neue Implementierung. Ausführliche Informationen finden Sie unter Schriftartbehandlung für Visual Basic 6.0-Benutzer. |
ForeColor |
Neue Implementierung. Ausführliche Informationen finden Sie unter Behandeln von Farben für Visual Basic 6.0-Benutzer. |
hDC |
Nicht länger erforderlich. Eine Instanz einer PrintDocument-Komponente entspricht einem Gerätekontext. |
Height |
Die PaperSize-Eigenschaft der PageSettings-Klasse. |
Orientation |
Die Landscape-Eigenschaft der PageSettings-Klasse. |
Page |
Neue Implementierung. Die aktuelle Seitenzahl wird nicht nachverfolgt; dies lässt sich jedoch problemlos erreichen, indem Sie eine Variable im BeginPrint-Ereignis festlegen und diese im PrintPage-Ereignis erhöhen. |
PaperBin |
Die PaperSources-Eigenschaft der PrinterSettings-Klasse. |
PaperSize |
Die PaperSize-Eigenschaft der PageSettings-Klasse. |
Port |
Nicht länger erforderlich. Das PrintPreviewDialog-Steuerelement legt die Anschlussinformationen automatisch fest. |
PrintQuality |
Die PrinterResolutions-Eigenschaft der PrinterSettings-Klasse. |
RightToLeft |
Nicht länger erforderlich. Die Druckrichtung wird durch die Lokalisierungseinstellungen in Windows gesteuert. |
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
Neue Implementierung. Ausführliche Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer. |
TrackDefault |
Keine direkte Entsprechung. Mithilfe der IsDefaultPrinter-Eigenschaft der PrinterSettings-Klasse kann festgelegt werden, ob ein Drucker als Standarddrucker fungiert. |
TwipsPerPixelX TwipsPerPixelY |
Nicht länger erforderlich. In Visual Basic 2005 werden als Maßeinheit immer Pixel verwendet. |
Width |
Die PaperSize-Eigenschaft der PageSettings-Klasse. |
Zoom |
Nicht länger erforderlich. Wenn der Drucker über Zoomfunktionen verfügt, werden die entsprechenden Einstellungen automatisch im Dialogfeld Drucken bereitgestellt. |
Methoden
Visual Basic 6.0 |
Visual Basic 2008-Entsprechung |
---|---|
Circle |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
EndDoc |
|
KillDoc |
|
Line |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
NewPage |
|
PaintPicture PSet |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Scale ScaleX ScaleY |
Neue Implementierung. Ausführliche Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer. |
TextHeight TextWidth |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Hinweise zum Durchführen eines Updates
Beim Durchführen einer Aktualisierung einer Visual Basic 6.0-Anwendung auf Visual Basic 2008 werden alle Instanzen des Printer-Objekts auf das Visual Basic 2008-Objekt Printer aktualisiert.
Siehe auch
Aufgaben
Konzepte
Änderungen an Druckvorgängen für Visual Basic 6.0-Benutzer
Grafiken für Visual Basic 6.0-Benutzer