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 CCommonDialog
abgeleitet 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 CPrintDialogEx
finden Sie unter "Allgemeine Dialogklassen".
Vererbungshierarchie
IObjectWithSite
IPrintDialogCallback
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 DoModal
ausführen, aber nach dem Erstellen des Dialogobjekts.
Nach dem Aufrufen DoModal
können Sie andere Memberfunktionen aufrufen, um die Einstellungen oder Informationen vom Benutzer in das Dialogfeld abzurufen.
Wenn das PD_RETURNDC-Flag beim Aufrufen DoModal
verwendet 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.hDC
zurü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
, nMaxPageRanges
und 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.