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

Print

KillDoc

Cancel

Line

Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer.

NewPage

HasMorePages

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

Beispiel für Drucken

Konzepte

Änderungen an Druckvorgängen für Visual Basic 6.0-Benutzer

Grafiken für Visual Basic 6.0-Benutzer

Referenz

PageSettings

PrinterSettings

Weitere Ressourcen

Druckunterstützung in Windows Forms