Dialogfeld Drucken

Im Dialogfeld Drucken können den Benutzer Optionen für einen bestimmten Druckauftrag auswählen. Beispielsweise kann der Benutzer den Drucker verwenden, der Bereich der zu druckenden Seiten und die Anzahl der Kopien angeben.

Windows NT 5.0 und höher: Die PrintDlgEx -Funktion können Sie ein Eigenschaftenblatt Drucken , hat eine Allgemeine Seite mit Steuerelementen ähnlich wie im Dialogfeld Drucken angezeigt. Das Eigenschaftenblatt kann auch zusätzliche anwendungsspezifische und Treiber-spezifische Eigenschaftenseiten, die nach der allgemeinen Seite haben.

Sie erstellen und zeigen ein Dialogfeld Drucken durch Initialisieren einer PRINTDLG -Struktur und die Struktur an die PrintDlg -Funktion.

Die folgende Abbildung zeigt eine typische Dialogfeld Drucken.

Wenn der Benutzer die Schaltfläche OK klickt, PrintDlg gibt TRUE zurück, und die PRINTDLG -Struktur verwendet, um Informationen über die Auswahl des Benutzers zurückzugeben. Beispielsweise das hDevMode und hDevNames -Mitglieder in der Regel zurück Globalspeicher Griffe für DEVMODE und DEVNAMES -Strukturen. Die Informationen können in diesen Strukturen Sie einen Gerätekontext oder einen Informationskontext für den ausgewählten Drucker zu erstellen.

Wenn der Benutzer im Dialogfeld Drucken abbricht oder ein Fehler auftritt, gibt die PrintDlg FALSE zurück. Sie können die Ursache eines Fehlers ermitteln mithilfe der CommDlgExtendedError -Funktion zum Abrufen des Werts der erweiterten Fehler.

Das Dialogfeld Drucken enthält einer Druckbereich Gruppe von Optionsfeldern, die angeben, ob der Benutzer alle Seiten, einen Bereich von Seiten oder nur den markierten Text drucken möchte. Bevor Sie PrintDlgaufrufen, können Sie festlegen, eine der PD_ALLPAGES, PD_SELECTION oder PD_PAGENUMS Fahnen, welche Schaltfläche anfänglich ausgewählte Element anzuzeigen. Wenn PrintDlg TRUE zurückgibt, legt die Funktion eines dieser Flags an die Benutzerauswahl. Wenn PD_PAGENUMS festgelegt ist, enthalten die nFromPage und nToPage Mitglieder der die PRINTDLG -Struktur, die erste und letzte Seiten durch den Benutzer angegeben. Um das Optionsfeld Seiten und seine zugeordneten von und für Edit-Steuerelemente zu deaktivieren, legen Sie das PD_NOPAGENUMS-Flag. Um die Optionsschaltfläche Auswahl deaktivieren, legen Sie das PD_NOSELECTION-flag.

Das Dialogfeld enthält ein Edit-Steuerelement, in dem der Benutzer die Anzahl der zu druckenden Kopien geben kann. Wenn das hDevMode Mitglied die PRINTDLG -Struktur ungleich NULL, ist das DmCopies Mitglied der der DEVMODE -Struktur gibt den Anfangswert für dieses Edit-Steuerelement. Wenn hDevMode NULL ist, gibt das nCopies Mitglied die PRINTDLG -Struktur den Anfangswert. Wenn PrintDlg zurückgibt, gibt nCopies in der Regel die Anzahl der Kopien, die vom Benutzer angegeben. Jedoch, wenn Sie das PD_USEDEVMODECOPIESANDCOLLATE-Flag festgelegt, wenn Sie das Dialogfeld erstellen, nCopies immer auf Rückkehr auf 1 festgelegt ist und der DmCopies -Member der DEVMODE gibt die Anzahl der zu druckenden Exemplare.

Dieses Kontrollkästchen gibt an, ob der Benutzer möchte die Seiten sortiert, wenn mehrere Kopien gedruckt werden. Das PD_COLLATE-Flag festgelegt ist, wenn das Kontrollkästchen Sortieren aktiviert ist. Wenn Ihre Anwendung mehrere Kopien oder simulierten Sortierung unterstützt, legen Sie das PD_USEDEVMODECOPIESANDCOLLATE-Flag im Flags -Member die PRINTDLG -Struktur. Dadurch wird das Kontrollkästchen Sortieren deaktiviert und die Anzahl der Kopien -edit-Steuerelement, wenn der Druckertreiber unterstützt mehrere Kopien und Sortierung.

Das Kontrollkästchen Ausgabe in Datei gibt an, ob der Benutzer möchte Ausgabe in eine Datei statt an einen Drucker senden. Sie können das PD_PRINTTOFILE-Flag festlegen, sodass das Kontrollkästchen ursprünglich aktiviert ist. Um das Kontrollkästchen auszublenden, legen Sie das PD_HIDEPRINTTOFILE-Flag. Um es zu deaktivieren, legen Sie das PD_DISABLEPRINTTOFILE-Flag. Wenn der Benutzer die Print To File -Option auswählt, PrintDlg legt das PD_PRINTTOFILE-Flag und gibt "Datei:" bei der von der wOutputOffset -Member der Struktur DEVNAMES angegebenen Offset. Beim Aufruf der StartDoc -Funktion, um den Druckvorgang zu starten geben Sie das "Datei:" Zeichenfolge in der LpszOutput Mitglied der DOCINFO Struktur. Diese Zeichenfolge bewirkt, dass das Druckteilsystem den Benutzer für den Namen der Ausgabedatei Abfragen.

Standardmäßig zeigt das Dialogfeld Drucken zunächst Informationen über den aktuellen Standarddrucker. Sie können direkt zur Anzeige von Informationen für einen anderen installierten Drucker Initialisieren einer DEVMODE oder DEVNAMES -Struktur und Zuordnung des globalen Speichers handle für die Struktur, die das hDevMode oder hDevNames Mitglied. Der Gerätename, die Sie in der DmDeviceName -Member der DEVMODE -Struktur oder im wDriverOffset -Member der Struktur DEVNAMES mit denen angeben muss ein Druckergerät identifizieren, die auch den Sieg im Abschnitt [Devices] aufgeführt ist.INI-Datei. Wenn das Gerät nicht aufgeführt ist, gibt PrintDlg einen Fehler zurück.

Sie können direkte PrintDlg ein Gerätekontext oder Informationskontext für den Drucker erstellen, durch Festlegen der PD_RETURNDC oder PD_RETURNIC-Flag in den Flags die PRINTDLG -Struktur. Die Funktion gibt das Handle des Gerätekontexts oder Informationskontext im hDC -Member. Wenn Sie das PD_RETURNDC-Flag verwenden, können Sie eine den Gerätekontext für den Drucker generieren.

Zum Abrufen von Informationen über den Standarddrucker ohne Anzeige im Dialogfeld Drucken festlegen Sie das PD_RETURNDEFAULT Flag. In diesem Fall gibt PrintDlg unmittelbar nach dem Festlegen der hDevMode und hDevNames Member an Handles für Strukturen, die die Informationen enthalten.

Standardmäßig wird PrintDlg Meldungsfelder angezeigt, wenn Fehler auftreten. Zum Beispiel zeigt die Funktion eine Fehlermeldung an, wenn kein Drucker installiert sind. Um zu verhindern, dass die Funktion diese Warnmeldungen anzeigen, legen Sie das PD_NOWARNING-flag.

Index