PRINTDLG

Die PRINTDLG -Struktur enthält Informationen, die die PrintDlg -Funktion verwendet, um das Dialogfeld Drucken zu initialisieren. Nachdem der Benutzer das Dialogfeld geschlossen wurde, verwendet das System diese Struktur zur Rückgabe von Informationen über die Benutzerauswahl.

typedef Struct TagPD {/ / pd DWORD lStructSize; 
    HWND HwndOwner; 
    BEHANDELN Sie hDevMode; 
    BEHANDELN Sie hDevNames; 
    HDC hDC; 
    DWORD Flags; 
    WORD nFromPage; 
    WORD nToPage; 
    WORD nMinPage; 
    WORD nMaxPage; 
    WORD nCopies; 
    HINSTANCE hInstance; 
    DWORD lCustData; 
    LPPRINTHOOKPROC LpfnPrintHook; 
    LPSETUPHOOKPROC LpfnSetupHook; 
    LPCTSTR LpPrintTemplateName; 
    LPCTSTR LpSetupTemplateName; 
    BEHANDELN Sie hPrintTemplate; 
    BEHANDELN Sie hSetupTemplate; 
} PRINTDLG 

 

Mitglieder

lStructSize
Gibt die Strukturgröße der in bytes.
hwndOwner
Identifiziert das Fenster, das das Dialogfeld besitzt. Dieser Member kann gültiges Fensterhandle, oder es kann NULL sein, wenn das Dialogfeld keine Besitzer hat.
hDevMode
Handle für einen beweglichen globalen Cache-Objekt, das enthält eine DEVMODE -Struktur. Wenn hDevMode nicht bei der Eingabe NULL ist, müssen Sie einen beweglichen Speicherblock für die DEVMODE -Struktur reservieren und initialisieren seiner Mitglieder. Die PrintDlg -Funktion verwendet die Eingabe Zielsystem Initialisieren der Steuerelemente im Dialogfeld. PrintDlg gibt, zeigen die DEVMODE -Mitglieder die Eingabe des Benutzers.

Wenn hDevMode NULL bei der Eingabe ist, PrintDlg reserviert Speicher für die DEVMODE -Struktur, seiner Mitglieder an die Eingabe des Benutzers initialisiert und gibt einen Handle, der es gibt.

Wenn der Gerätetreiber für den angegebenen Drucker nicht erweiterten Gerätemodi unterstützt, ist hDevMode NULL PrintDlg gibt.

Wenn der Gerätename (angegeben durch das DmDeviceName Mitglied der DEVMODE -Struktur) erscheint nicht im Abschnitt [Devices] der WIN.INI, PrintDlg gibt einen Fehler zurück.

Weitere Informationen über die hDevMode und hDevNames Mitglieder finden Sie unter im Abschnitt Hinweise am Ende dieses Themas.

hDevNames
Handle für einen beweglichen globalen Speicher-Objekt, das eine DEVNAMES -Struktur enthält. Wenn hDevNames nicht bei der Eingabe NULL ist, müssen Sie einen beweglichen Speicherblock für die DEVNAMES -Struktur reservieren und initialisieren seiner Mitglieder. Die PrintDlg -Funktion verwendet die Eingabe Zielsystem Initialisieren der Steuerelemente im Dialogfeld. Wenn PrintDlg zurückgibt, enthalten die DEVNAMES -Mitglieder Informationen für den vom Benutzer ausgewählten Drucker. Sie können diese Informationen verwenden, um einen Gerätekontext oder einen Informationskontext erstellen.

Das hDevNames -Mitglied kann NULL sein, in diesem Fall, PrintDlg reserviert Speicher für die DEVNAMES -Struktur, seiner Mitglieder an den Benutzer des input, initialisiert und gibt einen Handle zurück, kennzeichnet es.

Weitere Informationen über die hDevMode und hDevNames Mitglieder finden Sie unter im Abschnitt Hinweise am Ende dieses Themas.

hDC
Identifiziert einen Gerätekontext oder einen Informationskontext, je nachdem, ob das Flags -Mitglied der PD_RETURNDC oder PC_RETURNIC-Flag gibt an. Wenn kein Flag angegeben ist, ist der Wert dieses Members nicht definiert. Wenn beide Flags angegeben sind, hat PD_RETURNDC Priorität.
Flaggen
Ein Satz von Bitflags, die Sie verwenden können, um das Standarddialogfeld Drucken zu initialisieren. Wenn das Dialogfeld zurückgegeben wird, legt diese Flags an die Eingabe des Benutzers fest. Dieser Member kann eine Kombination der folgenden Flags sein:
PD_ALLPAGES
Die Standard-Flag, die angibt, dass zunächst alle Optionsfeld ausgewählt ist. Dieses Flag wird als Platzhalter verwendet, um anzugeben, dass die Flags PD_PAGENUMS und PD_SELECTION nicht angegeben werden.
PD_COLLATE
Wenn dieses Flag festgelegt ist, wird das Kontrollkästchen Sortieren überprüft.

Wenn dieses Flag festgelegt ist, wenn die PrintDlg -Funktion zurückgibt, muss die Anwendung Sortierung mehrerer Kopien simulieren. Weitere Informationen finden Sie unter die Beschreibung der PD_USEDEVMODECOPIESANDCOLLATE Flagge.

PD_DISABLEPRINTTOFILE
Deaktiviert das Kontrollkästchen in Datei Drucken.
PD_ENABLEPRINTHOOK
Ermöglicht die Hook-Prozedur in den LpfnPrintHook angegeben. Dies ermöglicht die Hook-Prozedur für das Dialogfeld Drucken.
PD_ENABLEPRINTTEMPLATE
Gibt an, dass die Member hInstance und LpPrintTemplateName als Ersatz für die Standard Drucken Dialogfeld Feld Vorlage angeben.
PD_ENABLEPRINTTEMPLATEHANDLE
Gibt an, dass das hPrintTemplate Mitglied ein Datenblockes identifiziert, das eine vorgespannte Dialogfeld Feld Vorlage enthält. Diese Vorlage ersetzt die Standard-Vorlage für das Dialogfeld Drucken . Das System ignoriert den LpPrintTemplateName Member, wenn dieses Flag angegeben ist.
PD_ENABLESETUPHOOK
Ermöglicht die Hook-Prozedur in den LpfnSetupHook angegeben. Dies ermöglicht die Hook-Prozedur für das Dialogfeld " Druckereinrichtung ".
PD_ENABLESETUPTEMPLATE
Gibt an, dass die Member hInstance und LpSetupTemplateName als Ersatz für die standardmäßige Print Setup Dialogfeld Feld Vorlage angeben.
PD_ENABLESETUPTEMPLATEHANDLE
Gibt an, dass das hSetupTemplate Mitglied ein Datenblockes identifiziert, das eine vorgespannte Dialogfeld Feld Vorlage enthält. Diese Vorlage ersetzt die Standard-Vorlage für das Dialogfeld " Druckereinrichtung ". Das System ignoriert den LpSetupTemplateName Member, wenn dieses Flag angegeben ist.
PD_HIDEPRINTTOFILE
Verbirgt das Kontrollkästchen in Datei Drucken.
PD_NONETWORKBUTTON
Ausgeblendet und deaktiviert die Schaltfläche Netzwerk.
PD_NOPAGENUMS
Deaktiviert das Optionsfeld Seiten und die zugehörigen Edit-Steuerelemente.
PD_NOSELECTION
Deaktiviert die Schaltfläche Auswahl radio.
PD_NOWARNING
Verhindert, dass die Warnmeldung angezeigt wird, wenn es kein Standarddrucker ist.
PD_PAGENUMS
Wenn dieses Flag festgelegt ist, wird das Optionsfeld Seiten aktiviert.

Wenn dieses Flag festgelegt ist, wenn die PrintDlg -Funktion zurückgibt, geben Sie die nFromPage und nFromPage Mitglieder die erste und letzte Seiten durch den Benutzer angegebene.

PD_PRINTSETUP
Veranlasst das System, das Dialogfeld Druckeinrichtung , statt das Dialogfeld Drucken anzuzeigen.
PD_PRINTTOFILE
Wenn dieses Flag festgelegt ist, wird das Kontrollkästchen Ausgabe in Datei ausgewählt.

Wenn dieses Flag festgelegt ist, wenn die PrintDlg -Funktion zurückgibt, der durch den wOutputOffset -Member der Struktur DEVNAMES angegebenen Offset enthält die Zeichenfolge "FILE:". 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.

PD_RETURNDC
Bewirkt, dass PrintDlg wieder einen Gerätekontext entsprechen der Auswahl durch den Benutzer im Dialogfeld. Der Gerätekontext wird in hDC zurückgegeben.
PD_RETURNDEFAULT
Wenn dieses Flag festgelegt ist, wird die PrintDlg -Funktion nicht im Dialogfeld angezeigt. Stattdessen setzt das hDevNames und hDevMode Mitglieder auf Handles zu DEVMODE und DEVNAMES -Strukturen, die für den System-Standarddrucker initialisiert werden. HDevNames und hDevMode müssen NULL sein, oder PrintDlg gibt einen Fehler zurück.

Wenn der Standarddrucker System von einem alten Druckertreiber (früher als Windows Version 3.0) unterstützt wird, wird nur hDevNames zurückgegeben; hDevMode ist NULL.

PD_RETURNIC
Ähnlich wie das PD_RETURNDC-Flag, außer dieses Flag gibt einen Informationskontext anstatt einen Gerätekontext zurück. Wenn weder PD_RETURNDC noch PD_RETURNIC angegeben ist, ist hDC am Ausgang undefiniert.
PD_SELECTION
Wenn dieses Flag festgelegt ist, ist die Optionsschaltfläche Auswahl aktiviert.

Wenn weder PD_PAGENUMS noch PD_SELECTION festgelegt ist, ist das alle Optionsfeld aktiviert.

PD_SHOWHELP
Bewirkt, dass das Dialogfeld die Schaltfläche Hilfe anzeigen. Das HwndOwner -Mitglied muss angeben, dass das Fenster die HELPMSGSTRING empfangen Nachrichten registriert, die im Dialogfeld sendet, wenn der Benutzer die Schaltfläche Hilfe klickt.
PD_USEDEVMODECOPIES
Identisch PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Dieses Flag gibt an, ob Ihre Anwendung mehrere Kopien und Sortierung unterstützt. Legen Sie dieses Flag bei der Eingabe an, dass Ihre Anwendung mehrere Kopien und Sortierung nicht unterstützt. In diesem Fall das nCopies Mitglied die PRINTDLG -Struktur gibt immer 1 zurück, und PD_COLLATE nie in den Flags festgelegt ist.

Wenn dieses Flag nicht festgelegt ist, ist die Anwendung für Siebdruck und Sortieren von mehreren Kopien verantwortlich. In diesem Fall das nCopies Mitglied die PRINTDLG -Struktur gibt die Anzahl der Kopien, die der Benutzer möchte drucken, und das PD_COLLATE-Flag in den Flags gibt an, ob der Benutzer die Sortierung möchte.

Unabhängig davon, ob dieses Kennzeichen gesetzt ist eine Anwendung kann aus nCopies und PD_COLLATE bestimmen, wie viele Kopien zu machen und ob sie gedruckt sortiert.

Wenn dieses Flag festgelegt ist, und der Druckertreiber nicht mehrere Kopien unterstützt, ist das Kopien -Edit-Steuerelement deaktiviert. Ebenso, wenn dieses Flag festgelegt ist, und der Druckertreiber keine Sortierung unterstützt, das Kontrollkästchen Sortieren deaktiviert ist.

Die DmCopies und DmCollate Mitglieder der DEVMODE -Struktur enthält die Kopien und sammeln Informationen vom Druckertreiber verwendet. Wenn dieses Flag festgelegt ist, und der Druckertreiber mehrere Kopien unterstützt, gibt das DmCopies -Element die Anzahl der vom Benutzer angeforderten Kopien. Wenn dieses Flag festgelegt ist und der Druckertreiber unterstützt die Sortierung, angibt der DmCollate -Member der DEVMODE -Struktur, ob der Benutzer Sortierung will. Wenn dieses Flag nicht festgelegt ist, gibt das DmCopies -Mitglied immer 1 zurück, und der DmCollate -Member ist immer 0 (null).


nFromPage
Gibt den Anfangswert für das ab Seite Edit-Steuerelement.

Die Rückgabe PrintDlg ist nFromPage die vom Benutzer angegebenen Startseite. Wenn das Optionsfeld Seiten aktiviert ist, wenn der Benutzer klickt der Okay Button, PrintDlg legt die PD_PAGENUMS kennzeichnen und nicht erst wieder gibt der Benutzer einen Anfangswert für die Seite, der innerhalb der Minimum-maximale Seitenbereich ist.

Windows 95: Wenn der Eingabewert entweder nFromPage oder nToPage außerhalb des Bereichs von nMinPage und nMaxPageangegeben ist, gibt PrintDlg einen Fehler zurück.

Windows NT: Wenn die Eingabe für nFromPage oder nToPage Wert liegt außerhalb des minimale/maximale Bereichs, PrintDlg gibt Fehler nur, wenn das PD_PAGENUMS-Flag angegeben ist; Andernfalls zeigt das Dialogfeld jedoch ändert sich den Wert außerhalb des Bereichs auf den Mindest- oder Höchstwert Wert.

nToPage
Gibt den Anfangswert für das Enddatum Seite Edit-Steuerelement.

PrintDlg gibt, ist nToPage die Endung Seite vom Benutzer angegeben. Wenn die Optionsschaltfläche Seiten aktiviert ist, klickt die Verwendung der Okay Button, PrintDlg legt die PD_PAGENUMS kennzeichnen und nicht bis wieder gibt der Benutzer einen Endwert für die Seite, der innerhalb der Minimum-maximale Seitenbereich ist.

nMinPage
Gibt den Mindestwert für den Seitenbereich in der von und nach Seite Edit-Steuerelemente angegeben. Wenn nMinPage gleich nMaxPageist, sind das Optionsfeld Seiten und die erste und letzte Seite Edit-Steuerelemente deaktiviert.
nMaxPage
Gibt den maximalen Wert für den Seitenbereich angegeben in der von und nach Seite Edit-Steuerelementen.
nCopies
Die anfängliche Anzahl von Kopien für die Kopien -Edit-Steuerelement enthält, wenn hDevMode NULL ist; ansonsten das DmCopies Mitglied der DEVMODE -Struktur enthält den ursprünglichen Wert. Die Rückgabe PrintDlg enthält nCopies die tatsächliche Anzahl der zu druckenden Exemplare. Dieser Wert hängt davon ab, ob die Anwendung oder den Druckertreiber für den Druck mehrerer Kopien verantwortlich ist. Wenn das PD_USEDEVMODECOPIESANDCOLLATE-Flag in den Flags festgelegt ist, nCopies ist immer 1 auf Rückkehr, und der Druckertreiber ist verantwortlich für mehrere Kopien drucken. Wenn das Flag nicht festgelegt ist, ist die Anwendung zuständig für den Druck von der Anzahl der Kopien, die von nCopiesangegeben. Weitere Informationen finden Sie unter die Beschreibung der PD_USEDEVMODECOPIESANDCOLLATE Flagge.
hInstance
Wenn die PD_ENABLEPRINTTEMPLATE oder PD_ENABLESETUPTEMPLATE-Flag in den Flags festgelegt ist, ist hInstance das Handle der Anwendung oder Modul-Instanz, die enthält das Dialogfeld Feld Vorlage mit dem Namen der LpPrintTemplateName oder LpSetupTemplateName -Members.
lCustData
Gibt anwendungsdefinierten Daten, die das System an die Hook-Prozedur durch das LpfnPrintHook oder LpfnSetupHook -Element identifiziert wird. Sendet das System die WM_INITDIALOG -Meldung an die Hook-Prozedur, ist die Nachricht lParam -Parameter ein Zeiger auf die PRINTDLG -Struktur angegeben, wenn das Dialogfeld erstellt wurde. Die Hook-Prozedur können diesen Zeiger zum Abrufen des Werts lCustData.
lpfnPrintHook
Zeiger auf ein PrintHookProc Haken Verfahren, die Nachrichten für das Dialogfeld Drucken verarbeiten kann. Dieser Member wird ignoriert, es sei denn, das PD_ENABLEPRINTHOOK-Flag in den Flags gesetzt ist.
lpfnSetupHook
Zeiger auf ein SetupHookProc Haken Verfahren, die Nachrichten für das Dialogfeld Druckeinrichtung verarbeiten kann. Dieser Member wird ignoriert, es sei denn, das PD_ENABLESETUPHOOK-Flag in den Flags gesetzt ist.
lpPrintTemplateName
Zeiger auf eine auf Null endende Zeichenfolge, die Vorlage eine Dialogfeldressource im Modul identifiziert das hInstance -Mitglied benennt. Diese Vorlage ersetzt das Standard Drucken Dialogfeld Feld Vorlage. Dieser Member wird ignoriert, es sei denn, das PD_ENABLEPRINTTEMPLATE-Flag in den Flags gesetzt ist.
lpSetupTemplateName
Zeiger auf eine auf Null endende Zeichenfolge, die Vorlage eine Dialogfeldressource im Modul identifiziert das hInstance -Mitglied benennt. Diese Vorlage ersetzt das Standard Drucker einrichten Dialogfeld Feld Vorlage. Dieser Member wird ignoriert, es sei denn, das PD_ENABLESETUPTEMPLATE-Flag in den Flags gesetzt ist.
hPrintTemplate
Wenn das PD_ENABLEPRINTTEMPLATEHANDLE-Flag in den Flags festgelegt ist, ist hPrintTemplate das Handle für ein Objekt mit eine Dialogfeldvorlage. Diese Vorlage ersetzt das Standard Drucken Dialogfeld Feld Vorlage.
hSetupTemplate
Wenn das PD_ENABLESETUPTEMPLATEHANDLE-Flag in den Flags festgelegt ist, ist hSetupTemplate das Handle für ein Objekt mit eine Dialogfeldvorlage. Diese Vorlage ersetzt das Standard Drucker einrichten Dialogfeld Feld Vorlage.

Bemerkungen

Wenn Sie die PrintDlg -Funktion aufrufen sicher sein, dass der wDeviceOffset -Member der Struktur DEVNAMES ist identisch mit der DmDeviceName Mitglied der der DEVMODE -Struktur. Wenn diese Member nicht denselben Drucker angeben, initialisiert PrintDlg das Dialogfeld mithilfe des Druckers angegeben durch das wDeviceOffset -Mitglied.

In der Regel, wenn hDevMode und hDevNames NULL sind, PrintDlg initialisiert das Dialogfeld mithilfe des aktuellen Standarddruckers. Jedoch verwendet, wenn die PD_RETURNDEFAULT Flag gesetzt ist und NULL hDevMode und hDevNames sind, PrintDlg hDevNames und hDevMode Member zur Rückgabe von Informationen über den aktuellen Standarddrucker ohne Anzeige des Dialogfelds.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:Deklariert in winspool.h.
Unicode:Als Unicode und ANSI Strukturen definiert.

Siehe auch

Übersicht über Common Dialog Box Library, gemeinsamen Dialog Box Strukturen, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG

Index