Teilen über


CPrintDialogEx-Klasse

Kapselt die vom Windows Print-Eigenschaftenblatt bereitgestellten Dienste.

Syntax

class CPrintDialogEx : public CCommonDialog

Member

Öffentliche Konstruktoren

Name Beschreibung
CPrintDialogEx::CPrintDialogEx Erstellt ein CPrintDialogEx-Objekt.

Öffentliche Methoden

Name Beschreibung
CPrintDialogEx::CreatePrinterDC Erstellt einen Druckergerätekontext, ohne das Dialogfeld "Drucken" anzuzeigen.
CPrintDialogEx::D oModal Zeigt das Dialogfeld an und ermöglicht dem Benutzer die Auswahl.
CPrintDialogEx::GetCopies Ruft die Anzahl der angeforderten Kopien ab.
CPrintDialogEx::GetDefaults Ruft Gerätestandardwerte ab, ohne ein Dialogfeld anzuzeigen.
CPrintDialogEx::GetDeviceName Ruft den Namen des aktuell ausgewählten Druckergeräts ab.
CPrintDialogEx::GetDevMode Ruft die DEVMODE Struktur ab.
CPrintDialogEx::GetDriverName Ruft den Namen des vom System definierten Druckergerätetreibers ab.
CPrintDialogEx::GetPortName Ruft den Namen des aktuell ausgewählten Druckerports ab.
CPrintDialogEx::GetPrinterDC Ruft ein Handle für den Druckergerätekontext ab.
CPrintDialogEx::P rintAll Bestimmt, ob alle Seiten des Dokuments gedruckt werden sollen.
CPrintDialogEx::P Collate Bestimmt, ob sortierte Kopien angefordert werden.
CPrintDialogEx::P rintCurrentPage Bestimmt, ob die aktuelle Seite des Dokuments gedruckt werden soll.
CPrintDialogEx::P rintRange Bestimmt, ob nur ein angegebener Seitenbereich gedruckt werden soll.
CPrintDialogEx::P rintSelection Bestimmt, ob nur die aktuell ausgewählten Elemente gedruckt werden sollen.

Öffentliche Datenmember

Name Beschreibung
CPrintDialogEx::m_pdex Eine Struktur, die zum Anpassen eines CPrintDialogEx Objekts verwendet wird.

Hinweise

Sie können sich auf das Framework verlassen, um viele Aspekte des Druckprozesses für Ihre Anwendung zu verarbeiten. Weitere Informationen zur Verwendung des Frameworks zum Verarbeiten von Druckaufgaben finden Sie im Artikel "Drucken".

Wenn Ihre Anwendung das Drucken ohne Beteiligung des Frameworks verarbeiten soll, können Sie die CPrintDialogEx Klasse "as is" mit dem bereitgestellten Konstruktor verwenden, oder Sie können Ihre eigene Dialogklasse von CPrintDialogEx einem Konstruktor ableiten und einen Konstruktor entsprechend Ihren Anforderungen schreiben. In beiden Fällen verhalten sich diese Dialogfelder wie standardmäßige MFC-Dialogfelder, da sie von der Klasse CCommonDialogabgeleitet werden.

Um ein CPrintDialogEx Objekt zu verwenden, erstellen Sie zuerst das Objekt mit dem CPrintDialogEx Konstruktor. Nachdem das Dialogfeld erstellt wurde, können Sie werte in der m_pdex Struktur festlegen oder ändern, um die Werte der Steuerelemente des Dialogfelds zu initialisieren. Die m_pdex Struktur ist vom Typ PRINTDLGEX. Weitere Informationen zu dieser Struktur finden Sie im Windows SDK.

Wenn Sie keine eigenen Handles m_pdex für die und hDevNames die hDevMode Member bereitstellen, müssen Sie die Windows-Funktion GlobalFree für diese Handles aufrufen, wenn Sie mit dem Dialogfeld fertig sind.

Rufen Sie nach dem Initialisieren der Dialogfeldsteuerelemente die DoModal Memberfunktion auf, um das Dialogfeld anzuzeigen, und ermöglichen Sie dem Benutzer, Druckoptionen auszuwählen. Bei DoModal Rückgaben können Sie bestimmen, ob der Benutzer die Schaltfläche "OK", "Übernehmen" oder "Abbrechen" ausgewählt hat.

Wenn der Benutzer "OK" gedrückt hat, können Sie die Memberfunktionen verwenden CPrintDialogEx, um die Informationen vom Benutzer abzurufen.

Die CPrintDialogEx::GetDefaults Memberfunktion eignet sich zum Abrufen der standardeinstellungen des aktuellen Druckers, ohne ein Dialogfeld anzuzeigen. Für diese Methode ist keine Benutzerinteraktion erforderlich.

Mit der Windows-Funktion CommDlgExtendedError können Sie ermitteln, ob während der Initialisierung des Dialogfelds ein Fehler aufgetreten ist, und um mehr über den Fehler zu erfahren. Weitere Informationen zu dieser Funktion finden Sie im Windows SDK.

Weitere Informationen zur Verwendung CPrintDialogExfinden Sie unter "Allgemeine Dialogklassen".

Vererbungshierarchie

CObject

CCmdTarget

CWnd

Cdialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Anforderungen

Header: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Erstellt ein Windows Print-Eigenschaftenblatt.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

Parameter

dwFlags
Ein oder mehrere Kennzeichen, mit denen Sie die Einstellungen des Dialogfelds anpassen können, kombiniert mit dem bitweisen OR-Operator. Beispielsweise legt das flag PD_ALLPAGES den Standarddruckbereich auf alle Seiten des Dokuments fest. Weitere Informationen zu diesen Flags finden Sie in der PRINTDLGEX-Struktur im Windows SDK.

pParentWnd
Ein Zeiger auf das übergeordnete Oder Besitzerfenster des Dialogfelds.

Hinweise

Diese Memberfunktion erstellt nur das Objekt. Verwenden Sie die DoModal Memberfunktion, um das Dialogfeld anzuzeigen.

CPrintDialogEx::CreatePrinterDC

Erstellt einen Druckergerätekontext (DC) aus den STRUKTUREN DEVMODE und DEVNAMES .

HDC CreatePrinterDC();

Rückgabewert

Behandeln Sie den neu erstellten Druckergerätekontext.

Hinweise

Der zurückgegebene DC wird auch im hDC Element von m_pdex gespeichert.

Es wird davon ausgegangen, dass es sich um den aktuellen Drucker DC handelt, und alle anderen zuvor erhaltenen Drucker-DCs müssen gelöscht werden. Diese Funktion kann aufgerufen werden und der resultierende DC verwendet werden, ohne das Dialogfeld "Drucken" anzuzeigen.

CPrintDialogEx::D oModal

Rufen Sie diese Funktion auf, um das Windows Print-Eigenschaftenblatt anzuzeigen, und dem Benutzer die Auswahl verschiedener Druckoptionen wie die Anzahl der Kopien, des Seitenbereichs und der Sortierung von Kopien zu ermöglichen.

virtual INT_PTR DoModal();

Rückgabewert

Der INT_PTR Rückgabewert ist tatsächlich ein HRESULT. Weitere Informationen finden Sie im Abschnitt "Rückgabewerte" in PrintDlgEx im Windows SDK.

Hinweise

Wenn Sie die verschiedenen Druckdialogoptionen initialisieren möchten, indem Sie Elemente der m_pdex Struktur festlegen, sollten Sie dies vor dem Aufrufen DoModalausführen, aber nach dem Erstellen des Dialogobjekts.

Nach dem Aufrufen DoModalkönnen Sie andere Memberfunktionen aufrufen, um die Einstellungen oder Informationen vom Benutzer in das Dialogfeld abzurufen.

Wenn das PD_RETURNDC-Flag beim Aufrufen DoModalverwendet wird, wird ein Drucker-DC im hDC Element m_pdex zurückgegeben. Dieser DC muss mit einem Aufruf von DeleteDC durch den Aufrufer von CPrintDialogEx.

CPrintDialogEx::GetCopies

Rufen Sie diese Funktion nach dem Aufrufen DoModal auf, um die Anzahl der angeforderten Kopien abzurufen.

int GetCopies() const;

Rückgabewert

Die Anzahl der angeforderten Kopien.

CPrintDialogEx::GetDefaults

Rufen Sie diese Funktion auf, um die Standardeinstellungen des Standarddruckers abzurufen, ohne ein Dialogfeld anzuzeigen.

BOOL GetDefaults();

Rückgabewert

TRUE bei erfolgreicher Ausführung, andernfalls FALSE.

Hinweise

Erstellt einen Druckergerätekontext (DC) aus den STRUKTUREN DEVMODE und DEVNAMES .

GetDefaults zeigt das Print-Eigenschaftenblatt nicht an. Stattdessen werden die hDevNames Elemente und hDevMode Elemente von m_pdex auf die DEVMODE - und DEVNAMES-Strukturen festgelegt, die für den Systemstandarddrucker initialisiert werden. Beide hDevNames und hDevMode müssen NULL sein oder GetDefaults fehlschlagen.

Wenn das kennzeichen PD_RETURNDC festgelegt ist, gibt diese Funktion nicht nur an den Aufrufer zurück hDevNames und hDevMode (in m_pdex.hDevNames und m_pdex.hDevMode) sondern gibt auch einen Drucker DC in m_pdex.hDCzurück. Es liegt in der Verantwortung des Aufrufers, den Drucker DC zu löschen und die Windows GlobalFree-Funktion auf den Ziehpunkten aufzurufen, wenn Sie mit dem CPrintDialogEx Objekt fertig sind.

CPrintDialogEx::GetDeviceName

Rufen Sie diese Funktion nach dem Aufrufen von DoModal auf, um den Namen des aktuell ausgewählten Druckers abzurufen, oder nach dem Aufrufen von GetDefaults, um den Namen des Standarddruckers abzurufen.

CString GetDeviceName() const;

Rückgabewert

Der Name des aktuell ausgewählten Druckers.

Hinweise

Verwenden Sie einen Zeiger auf das Objekt, das CString als Wert in lpszDeviceName einem Aufruf von CDC::CreateDC zurückgegeben GetDeviceName wird.

CPrintDialogEx::GetDevMode

Rufen Sie diese Funktion nach dem Aufrufen von DoModal oder GetDefaults auf, um Informationen über das Druckgerät abzurufen.

LPDEVMODE GetDevMode() const;

Rückgabewert

Die DEVMODE-Datenstruktur , die Informationen zur Geräteinitialisierung und Umgebung eines Drucktreibers enthält. Sie müssen den Von dieser Struktur übernommenen Speicher mit der Windows GlobalUnlock-Funktion entsperren, die im Windows SDK beschrieben wird.

CPrintDialogEx::GetDriverName

Rufen Sie diese Funktion nach dem Aufrufen von DoModal oder GetDefaults auf, um den Namen des vom System definierten Druckergerätetreibers abzurufen.

CString GetDriverName() const;

Rückgabewert

Ein CString Angeben des vom System definierten Treibernamens.

Hinweise

Verwenden Sie einen Zeiger auf das Objekt, das CString als Wert von lpszDriverName in einem Aufruf von CDC::CreateDCGetDriverName zurückgegeben wird.

CPrintDialogEx::GetPortName

Rufen Sie diese Funktion nach dem Aufrufen von DoModal oder GetDefaults auf, um den Namen des aktuell ausgewählten Druckerports abzurufen.

CString GetPortName() const;

Rückgabewert

Der Name des aktuell ausgewählten Druckerports.

CPrintDialogEx::GetPrinterDC

Gibt einen Handle für den Druckergerätekontext zurück.

HDC GetPrinterDC() const;

Rückgabewert

Ein Handle für den Druckergerätekontext.

Hinweise

Sie müssen die Windows DeleteDC-Funktion aufrufen, um den Gerätekontext zu löschen, wenn Sie damit fertig sind.

CPrintDialogEx::m_pdex

Eine PRINTDLGEX-Struktur, deren Member die Merkmale des Dialogobjekts speichern.

PRINTDLGEX m_pdex;

Hinweise

Nach dem Erstellen eines CPrintDialogEx Objekts können m_pdex Sie verschiedene Aspekte des Dialogfelds festlegen, bevor Sie die DoModal-Memberfunktion aufrufen. Weitere Informationen zur m_pdex Struktur finden Sie unter PRINTDLGEX im Windows SDK.

Wenn Sie das m_pdex Datenelement direkt ändern, überschreiben Sie alle Standardverhaltensweisen.

CPrintDialogEx::P rintAll

Rufen Sie diese Funktion nach dem Aufrufen auf DoModal , um zu bestimmen, ob alle Seiten im Dokument gedruckt werden sollen.

BOOL PrintAll() const;

Rückgabewert

TRUE, wenn alle Seiten im Dokument gedruckt werden sollen; andernfalls FALSE.

CPrintDialogEx::P Collate

Rufen Sie diese Funktion nach dem Aufrufen auf DoModal , um zu ermitteln, ob der Drucker alle gedruckten Kopien des Dokuments sortieren soll.

BOOL PrintCollate() const;

Rückgabewert

TRUE, wenn der Benutzer das Kontrollkästchen "Sortieren" im Dialogfeld auswählt; andernfalls FALSE.

CPrintDialogEx::P rintCurrentPage

Rufen Sie diese Funktion nach dem Aufruf auf DoModal , um zu bestimmen, ob die aktuelle Seite im Dokument gedruckt werden soll.

BOOL PrintCurrentPage() const;

Rückgabewert

TRUE, wenn "Aktuelle Seite drucken" im Druckdialogfeld ausgewählt ist; andernfalls FALSE.

CPrintDialogEx::P rintRange

Rufen Sie diese Funktion nach dem Aufrufen auf DoModal , um zu ermitteln, ob nur ein Seitenbereich im Dokument gedruckt werden soll.

BOOL PrintRange() const;

Rückgabewert

TRUE, wenn nur ein Seitenbereich im Dokument gedruckt werden soll; andernfalls FALSE.

Hinweise

Die angegebenen Seitenbereiche können aus m_pdex bestimmt werden (siehe nPageRanges, nMaxPageRangesund lpPageRanges in der PRINTDLGEX-Struktur im Windows SDK).

CPrintDialogEx::P rintSelection

Rufen Sie diese Funktion nach dem Aufrufen auf DoModal , um festzustellen, ob nur die aktuell ausgewählten Elemente gedruckt werden sollen.

BOOL PrintSelection() const;

Rückgabewert

TRUE, wenn nur die ausgewählten Elemente gedruckt werden sollen; andernfalls FALSE.

Siehe auch

CCommonDialog-Klasse
Hierarchiediagramm
CPrintInfo-Struktur