[Dies ist vorläufige Dokumentation und Änderungenvorbehalten.]
Die PRINTDLGEX -Struktur enthält Informationen, die die PrintDlgEx -Funktion verwendet, um das Eigenschaftenblatt Drucken zu initialisieren. Nachdem der Benutzer das Eigenschaftsfenster geschlossen wurde, verwendet das System diese Struktur zur Rückgabe von Informationen über die Benutzerauswahl.
typedef Struct TagPDEX {}
DWORD lStructSize;
HWND HwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE LpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCTSTR LpPrintTemplateName;
LPUNKNOWN LpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE * LphPropertyPages;
DWORD nStartPage;
DWORD DwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX
Wenn hDevMode NULL bei der Eingabe ist, PrintDlgEx reserviert Speicher für die DEVMODE -Struktur, seiner Mitglieder an die Eingabe des Benutzers initialisiert und gibt einen Handle, der es gibt.
Weitere Informationen über die hDevMode und hDevNames Mitglieder finden Sie unter im Abschnitt Hinweise am Ende dieses Themas.
Das hDevNames -Mitglied kann NULL sein, in diesem Fall, PrintDlgEx 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.
| 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 PD_PAGENUMS, PD_SELECTION und PD_CURRENTPAGE Flags nicht angegeben sind. | |
| PD_COLLATE | |
| Wenn dieses Flag festgelegt ist, wird das Kontrollkästchen Sortieren überprüft. Wenn dieses Flag festgelegt ist, wenn die PrintDlgEx -Funktion zurückgibt, muss die Anwendung Sortierung mehrerer Kopien simulieren. Weitere Informationen finden Sie unter die Beschreibung der PD_USEDEVMODECOPIESANDCOLLATE Flagge. |
|
| PD_CURRENTPAGE | |
| Wenn dieses Flag festgelegt ist, wird die Optionsschaltfläche Aktuelle Seite ausgewählt. Wenn keines der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE festgelegt ist, ist das alle Optionsfeld aktiviert. | |
| PD_DISABLEPRINTTOFILE | |
| Deaktiviert das Kontrollkästchen in Datei Drucken. | |
| PD_ENABLEPRINTTEMPLATE | |
| Gibt an, dass die hInstance und LpPrintTemplateName Mitglieder im unteren Teil der Seite Allgemein einen Ersatz für die standardmäßige Dialogfeld im Feld Vorlage angeben. Die Standard-Vorlage enthält Steuerelemente ähnlich denen im Dialogfeld " Drucken ". Das System verwendet die angegebene Vorlage zum Erstellen eines Fensters, das ein Kind von der Seite " Allgemein ". | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| Gibt an, dass das hInstance Mitglied ein Datenblockes identifiziert, das eine vorgespannte Dialogfeld Feld Vorlage enthält. Diese Vorlage ersetzt das standardmäßige Dialogfeld Feld Vorlage im unteren Teil der Seite Allgemein . Das System verwendet die angegebene Vorlage zum Erstellen eines Fensters, das ein Kind von der Seite " Allgemein " ist. Das System ignoriert den LpPrintTemplateName Member, wenn dieses Flag angegeben ist. | |
| PD_EXCLUSIONFLAGS | |
| Gibt an, dass das ExclusionFlags -Element identifiziert Elemente aus der Drucker-Treiber-Eigenschaftenseiten ausgeschlossen werden. Wenn dieses Flag nicht festgelegt ist, werden Elemente aus der Drucker-Treiber-Eigenschaftenseiten standardmäßig ausgeschlossen. Die Ausschlüsse zu verhindern, dass die Duplizierung von Elementen zwischen der allgemeinen Seite, jede Anwendung angegebenen Seiten und die Drucker-Treiber-Seiten. | |
| PD_HIDEPRINTTOFILE | |
| Verbirgt das Kontrollkästchen in Datei Drucken. | |
| PD_NOCURRENTPAGE | |
| Deaktiviert die Optionsschaltfläche Aktuelle Seite. | |
| 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 ein Fehler auftritt. | |
| PD_PAGENUMS | |
| Wenn dieses Flag festgelegt ist, wird das Optionsfeld Seiten aktiviert. Wenn keines der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE festgelegt ist, ist das alle Optionsfeld aktiviert. Wenn dieses Flag festgelegt ist, wenn die PrintDlgEx -Funktion zurückgibt, zeigt das LpPageRanges Mitglied der Seitenbereiche, die vom Benutzer angegebenen. |
|
| PD_PRINTTOFILE | |
| Wenn dieses Flag festgelegt ist, wird das Kontrollkästchen Ausgabe in Datei ausgewählt. Wenn dieses Flag festgelegt ist, wenn PrintDlgEx 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 PrintDlgEx wieder einen Gerätekontext entsprechen der Auswahl durch den Benutzer im Eigenschaftenblatt. Der Gerätekontext wird in hDC zurückgegeben. | |
| PD_RETURNDEFAULT | |
| Wenn dieses Flag festgelegt ist, wird die PrintDlgEx -Funktion das Eigenschaftenblatt nicht 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 PrintDlgEx gibt einen Fehler zurück. | |
| 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 keines der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE festgelegt ist, ist das alle Optionsfeld aktiviert. |
|
| 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 der nCopies -Member der Struktur PRINTDLGEX gibt immer 1 zurück, und PD_COLLATE wird nie in den Flags festgelegt. Wenn dieses Flag nicht festgelegt ist, ist die Anwendung für Siebdruck und Sortieren von mehreren Kopien verantwortlich. In diesem Fall das nCopies Mitglied der PRINTDLGEX -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). |
|
| PD_EXCL_COPIESANDCOLLATE | |
| Schließt die Kopien und Collate -Steuerelemente aus der Drucker-Treiber-Eigenschaftenseiten in einem Eigenschaftenblatt Drucken . Dieses Flag sollte immer gesetzt sein, wenn die Anwendung die Standard- Kopien und Collate Steuerelemente bereitgestellt durch den unteren Teil der Seite Allgemein des Eigenschaftenblatts Print verwendet. | |
Wenn das PD_NOPAGENUMS-Flag angegeben ist, ist dieser Wert nicht gültig. Wenn das PD_NOPAGENUMS-Flag nicht angegeben ist, muss LpPageRanges ungleich NULL sein.
Wenn PrintDlgEx zurückgibt, enthält nCopies die tatsächliche Anzahl der Kopien, die die Anwendung drucken muss. 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.
Das Objekt sollte Klasse IPrintDialogCallback zum Empfangen von Nachrichten für das Dialogfeld "Kind" im unteren Teil der allgemeinen Seite enthalten.
Das Callback-Objekt sollte auch die IObjectWithSite -Klasse, um einen Zeiger auf die IPrintDialogServices -Schnittstelle erhalten. Die Funktionsaufrufe PrintDlgEx QueryInterface auf das Rückrufobjekt für IID_IPrintDialogCallback und IID_IObjectWithSite zu bestimmen, welche Schnittstellen unterstützt werden.
Wenn Sie nicht Rückrufs Informationen abrufen möchten, legen Sie LpCallback auf NULL.
| Wert | Bedeutung |
|---|---|
| PD_RESULT_APPLY | Der Benutzer klicken auf die Schaltfläche übernehmen und später die Schaltfläche Abbrechen geklickt. Dies bedeutet, dass der Benutzer die im Eigenschaftenfenster vorgenommenen Änderungen zu übernehmen will, aber will nicht noch drucken. Die PRINTDLGEX -Struktur enthält die Informationen, die vom Benutzer angegeben, dass die übernehmen -Schaltfläche geklickt wurde. |
| PD_RESULT_CANCEL | Der Benutzer auf die Schaltfläche Abbrechen geklickt. Die Informationen in der PRINTDLGEX -Struktur bleibt unverändert. |
| PD_RESULT_PRINT | Der Benutzer auf die Schaltfläche Drucken geklickt. Die PRINTDLGEX -Struktur enthält die Informationen, die vom Benutzer angegebenen. |
Wenn Sie die Funktion PrintDlgEx 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 PrintDlgEx das Verwendung des Druckers durch das wDeviceOffset -Element angegebene Eigenschaftenblatt.
In der Regel, wenn hDevMode und hDevNames NULL sind, initialisiert PrintDlgEx mit den aktuellen Standarddrucker Eigenschaftenblatt. Jedoch verwendet, wenn die PD_RETURNDEFAULT Flag gesetzt ist und NULL hDevMode und hDevNames sind, PrintDlgEx das hDevNames und hDevMode Mitglieder Informationen über den aktuellen Standarddrucker zurück, ohne das Eigenschaftenblatt anzuzeigen.
Während der Ausführung von PrintDlgExdie DEVMODE und DEVNAMES -Strukturen, die Sie in der PRINTDLGEX -Struktur angegeben nicht immer aktuelle Daten enthalten. Aus diesem Grund sollten anwendungsspezifische Eigenschaftenseiten sowie IPrintDialogCallback -Routinen für die erste Seite die IPrintDialogServices -Schnittstelle verwenden, um Informationen über den Zustand des aktuellen Druckers abrufen.
&Nbsp; Windows NT: Version 5.0 oder höher erforderlich.
Windows:Nicht unterstützt.
Windows CE:Nicht unterstützt.
Header:In commdlg.h deklariert.
Importieren Bibliothek:Verwenden Sie comdlg32.lib.
Unicode:Als Unicode und ANSI Strukturen definiert.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx