CPrintDialog-Klasse
Kapselt die Dienste, die vom Windows-häufigverwendetes Dialogfeld für das Drucken bereitgestellt werden.
class CPrintDialog : public CCommonDialog
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CPrintDialog-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Erstellt einen Druckergerätekontext, ohne das Dialogfeld Drucken anzuzeigen. |
|
Zeigt das Dialogfeld an und ermöglicht dem Benutzer, um die Auswahl zu machen. |
|
Ruft die Anzahl der angeforderten Kopien ab. |
|
Ruft Gerätenstandards ab, ohne ein Dialogfeld anzuzeigen. |
|
Ruft den Namen des Geräts des derzeit ausgewählten Druckers ab. |
|
Ruft die DEVMODE-Struktur ab. |
|
Ruft den Namen des Treibers des derzeit ausgewählten Druckers ab. |
|
Ruft die Startseite des Drucksbereichs ab. |
|
Ruft den Namen des aktuell Ports des ausgewählten Druckers ab. |
|
Ruft ein Handle für Druckergerätekontext ab. |
|
Ruft die Endeseite des Drucksbereichs ab. |
|
Bestimmt, ob alle Seiten des Dokuments gedruckt wird. |
|
Bestimmt, ob sortierte Kopien angefordert werden. |
|
Bestimmt, ob nur einen bestimmten Seitenbereich ausgibt. |
|
Bestimmt, ob nur die aktuell ausgewählten Elemente ausgibt. |
Öffentliche Datenmember
Name |
Description |
---|---|
Eine Struktur verwendet, um ein CPrintDialog-Objekt anzupassen. |
Hinweise
Allgemeine Druckdialogfeldfelder bieten eine einfache Möglichkeit, die Drucks- und Drucks-Setupdialogfelder zu implementieren, die mit Windows-Standards in ähnlicher Weise konsistent sind.
Hinweis |
---|
Die CPrintDialogEx-Klasse kapselt die Dienste, die vom Windows 2000druckseigenschaftenblatt bereitgestellt werden.Weitere Informationen finden Sie in CPrintDialogEx Übersicht. |
Die Funktionalität von CPrintDialog wird durch die von CPageSetupDialog ersetzt, die entwickelt wurde, um Sie mit einem Standarddialogfelder für Druckssetup und -Seiteneinrichtung bereitzustellen.
Sie können auf das Framework verlassen, um viele Aspekte des Druckvorgangs für die Anwendung zu behandeln.In diesem Fall zeigt das Framework automatisch das Dialogfeld Windows-häufigverwendetes für das Drucken an.Sie können den Frameworkhandledruck für die Anwendung verfügen jedoch das Standarddialogfeld Drucken mit Ihrem eigenen Dialogfeld Drucken überschreiben.Weitere Informationen zum Verwenden des Frameworks, um Drucksaufgaben zu behandeln, finden Sie im Artikel Drucken.
Wenn Sie die Anwendung soll, Drucken ohne die Beteiligung des Frameworks zu behandeln, können Sie die Klasse verwenden CPrintDialog "z" mit dem bereitgestellten Konstruktor ist, oder eine eigene Dialogfeldklasse von CPrintDialog ableiten und einen Konstruktor schreiben, um Ihre Anforderungen anpassen.In beiden Fällen verhalten sich diese Dialogfelder wie Standard-MFC-Dialogfelder, da sie von der Klasse CCommonDialog abgeleitet werden.
Um ein CPrintDialog-Objekt zu verwenden, erstellen Sie zunächst das Objekt mithilfe des CPrintDialog-Konstruktors.Wenn das Dialogfeld erstellt wurde, können Sie alle Werte in der m_pd-Struktur festlegen oder ändern, um die Werte der Steuerelemente des Dialogfelds zu initialisieren.Die m_pd-Struktur ist vom Typ PRINTDLG.Weitere Informationen über diese Struktur, finden Sie unter Windows SDK.
Wenn Sie keine eigenen Handles in m_pd für die hDevMode und hDevNames-Member angeben, stellen Sie sicher, die Windows-Funktion GlobalFree für diese Handles aufrufen, wenn Sie mit dem Dialogfeld geschehen.Wenn Sie die der Drucks-Setupimplementierung des Frameworks verwenden, die von CWinApp::OnFilePrintSetup bereitgestellt wird, müssen Sie diese Handles nicht freigeben.Die Handles werden durch CWinApp verwaltet und werden im Destruktor von CWinApp freigegeben.Es ist nur erforderlich, diese Handles freizugeben, wenn ein eigenständiges CPrintDialog verwendet.
Nachdem Sie die Dialogfeld-Steuerelemente initialisiert haben, rufen Sie die DoModal-Memberfunktion auf, um das Dialogfeld anzuzeigen und den Benutzer zu den ausgewählten Druckoptionen zu ermöglichen.DoModal gibt zurück, ob der Benutzer OK (IDOK) oder Schaltfläche Löschverhalten (IDCANCEL) ausgewählt hat.
Wenn DoModalIDOK zurückgibt, können Sie eine der Memberfunktionen von CPrintDialog verwenden, um die Informationseingabe durch den Benutzer abzurufen.
Die CPrintDialog::GetDefaults-Memberfunktion ist für das Abrufen der aktuellen Druckerstandards nützlich, ohne ein Dialogfeld anzuzeigen.Diese Memberfunktion ist keine Benutzerinteraktion.
Sie können die Funktion Windows CommDlgExtendedError verwenden, um mehr über den Fehler zu ermitteln, ob ein Fehler aufgetreten ist während der Initialisierung des Dialogfelds und zu erfahren.Weitere Informationen zu dieser Funktion finden Sie unter, Windows SDK.
CPrintDialog beruht auf der COMMDLG.DLL-Datei, die mit Windows-Versionen 3,1 und höher bereitgestellt wird.
Um das Dialogfeld anzupassen, leiten Sie eine Klasse von CPrintDialog, erstellen Sie eine benutzerdefinierte Dialogfeldvorlage, und fügen Sie eine Meldungszuordnung hinzu um die Benachrichtigungsmeldungen aus den erweiterten - Steuerelementen verarbeiten.Alle nicht verarbeiteten Nachrichten sollten die Basisklasse an übergeben werden.Die Hookfunktion anzupassen ist nicht erforderlich.
Um die gleiche Meldung abhängig von unterschiedlich zu verarbeiten oder ob das Dialogfeld Drucken Drucks-Setup ist, müssen Sie eine Klasse für jedes Dialogfeld berechnen.Sie müssen die Funktion Windows AttachOnSetup auch überschreiben, die die Erstellung eines neuen Dialogfelds behandelt, wenn die Drucks-Setupschaltfläche innerhalb eines Druckdialogfeldfelds ausgewählt ist.
Weitere Informationen zur Verwendung von CPrintDialog, finden Sie unter Allgemeine Dialogfeldklassen.
Vererbungshierarchie
CPrintDialog
Anforderungen
Header: afxdlgs.h