PRINTDLGEXA-Struktur (commdlg.h)

Enthält Informationen, die die PrintDlgEx-Funktion zum Initialisieren des Print-Eigenschaftenblatts verwendet. Nachdem der Benutzer das Eigenschaftenblatt geschlossen hat, verwendet das System diese Struktur, um Informationen über die Auswahl des Benutzers zurückzugeben.

Syntax

typedef struct tagPDEXA {
  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;
  LPCSTR           lpPrintTemplateName;
  LPUNKNOWN        lpCallback;
  DWORD            nPropertyPages;
  HPROPSHEETPAGE   *lphPropertyPages;
  DWORD            nStartPage;
  DWORD            dwResultAction;
} PRINTDLGEXA, *LPPRINTDLGEXA;

Member

lStructSize

Art: DWORD

Die Strukturgröße in Bytes.

hwndOwner

Typ: HWND

Ein Handle für das Fenster, das das Eigenschaftenblatt besitzt. Dieses Element muss ein gültiger Fensterziehpunkt sein; es kann nicht NULL sein.

hDevMode

Typ: HGLOBAL

Ein Handle zu einem beweglichen globalen Speicherobjekt, das eine DEVMODE-Struktur enthält. Wenn hDevMode nicht NULL für die Eingabe ist, müssen Sie einen beweglichen Speicherblock für die DEVMODE-Struktur zuweisen und seine Member initialisieren. Die PrintDlgEx-Funktion verwendet die Eingabedaten, um die Steuerelemente im Eigenschaftenblatt zu initialisieren. Wenn PrintDlgEx zurückgibt, geben die DEVMODE-Elemente die Eingabe des Benutzers an.

Wenn hDevModeauf eingaben NULL ist, ordnet PrintDlgEx Arbeitsspeicher für die DEVMODE-Struktur zu, initialisiert seine Member, um die Eingabe des Benutzers anzugeben, und gibt einen Handle zurück, der ihn identifiziert.

Weitere Informationen zu den Mitgliedern hDevMode und hDevNames finden Sie im Abschnitt "Hinweise" am Ende dieses Themas.

hDevNames

Typ: HGLOBAL

Ein Handle zu einem beweglichen globalen Speicherobjekt, das eine DEVNAMES-Struktur enthält. Wenn hDevNames nicht NULL für die Eingabe ist, müssen Sie einen beweglichen Speicherblock für die DEVNAMES-Struktur zuweisen und seine Member initialisieren. Die PrintDlgEx-Funktion verwendet die Eingabedaten, um die Steuerelemente im Eigenschaftenblatt zu initialisieren. Wenn PrintDlgEx zurückgibt, enthalten die DEVNAMES-Member Informationen für den vom Benutzer ausgewählten Drucker. Sie können diese Informationen verwenden, um einen Gerätekontext oder einen Informationskontext zu erstellen.

Das hDevNames-Element kann NULL sein, in diesem Fall ordnet PrintDlgEx Arbeitsspeicher für die DEVNAMES-Struktur zu, initialisiert seine Member, um die Eingabe des Benutzers anzugeben, und gibt einen Handle zurück, der ihn identifiziert.

Weitere Informationen zu den Mitgliedern hDevMode und hDevNames finden Sie im Abschnitt "Hinweise" am Ende dieses Themas.

hDC

Typ: HDC

Ein Handle zu einem Gerätekontext oder einem Informationskontext, je nachdem, ob das Flags-Element das PD_RETURNDC oder PC_RETURNIC Flag angibt. Wenn keine Kennzeichnung angegeben wird, wird der Wert dieses Elements nicht definiert. Wenn beide Flags angegeben werden, hat PD_RETURNDC Priorität.

Flags

Art: DWORD

Eine Reihe von Bitkennzeichnungen, die Sie zum Initialisieren des Print-Eigenschaftenblatts verwenden können. Wenn die PrintDlgEx-Funktion zurückgegeben wird, wird diese Kennzeichnung festgelegt, um die Eingabe des Benutzers anzugeben. Dieses Element kann eine oder mehrere der folgenden Werte sein.

Um sicherzustellen, dass PrintDlg oder PrintDlgEx die richtigen Werte in den DmCopies - und dmCollate-Membern der DEVMODE-Struktur zurückgibt, legen Sie PD_RETURNDC = TRUE und PD_USEDEVMODECOPIESANDCOLLATE = TRUE fest. Dabei ist das nCopies-Element der PRINTDLG-Struktur immer 1 und PD_COLLATE immer FALSCH.

Um sicherzustellen, dass PrintDlg oder PrintDlgEx die richtigen Werte in nCopies und PD_COLLATE zurückgibt, legen Sie PD_RETURNDC = TRUE und PD_USEDEVMODECOPIESANDCOLLATE = FALSE fest. Dabei ist dmCopies immer 1 und dmCollate ist immer FALSCH.

Beginnend mit Windows Vista, wenn Sie PrintDlg oder PrintDlgEx mit PD_RETURNDC auf TRUE festgelegt und PD_USEDEVMODECOPIESANDCOLLATE auf FALSE festgelegt haben, legt die Funktion PrintDlg oder PrintDlgEx die Anzahl der Kopien im nCopies-Element der PRINTDLG-Struktur fest und legt die Anzahl der Kopien in der Struktur fest, die durch das hDC-Element der PRINTDLG-Struktur dargestellt wird.

Beim Aufrufen von GDI müssen Sie den Wert von nCopies ignorieren, den Wert als 1 betrachten und den zurückgegebenen hDC verwenden, um doppelte Kopien zu vermeiden.

Wert Bedeutung
PD_ALLPAGES
0x00000000
Die Standardkennzeichnung, die angibt, dass das Optionsfeld "Alle " anfänglich ausgewählt ist. Dieses Kennzeichen wird als Platzhalter verwendet, um anzugeben, dass die PD_PAGENUMS, PD_SELECTION und PD_CURRENTPAGE Flags nicht angegeben werden.
PD_COLLATE
0x00000010
Wenn dieses Kennzeichen festgelegt ist, ist das Kontrollkästchen "Zusammensetzen " aktiviert.

Wenn dieses Kennzeichen festgelegt ist, wenn die PrintDlgEx-Funktion zurückgegeben wird, muss die Anwendung die Sortierung mehrerer Kopien simulieren. Weitere Informationen finden Sie in der Beschreibung des PD_USEDEVMODECOPIESANDCOLLATE Flags.

Siehe PD_NOPAGENUMS.

PD_CURRENTPAGE
0x00400000
Wenn dieses Kennzeichen festgelegt ist, wird das Optionsfeld "Aktuelle Seite " ausgewählt. Wenn keines der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE Flags festgelegt ist, wird das Optionsfeld "Alle " ausgewählt.
PD_DISABLEPRINTTOFILE
0x00080000
Deaktiviert das Kontrollkästchen "In Datei drucken ".
PD_ENABLEPRINTTEMPLATE
0x00004000
Gibt an, dass die Elemente "hInstance " und "lpPrintTemplateName " einen Ersatz für die Standarddialogfeldvorlage im unteren Teil der Seite "Allgemein " angeben. Die Standardvorlage enthält Steuerelemente, die mit denen des Dialogfelds "Drucken" vergleichbar sind. Das System verwendet die angegebene Vorlage, um ein Fenster zu erstellen, das ein untergeordnetes Element der Seite "Allgemein " ist.
PD_ENABLEPRINTTEMPLATEHANDLE
0x00010000
Gibt an, dass das hInstance-Element einen Datenblock identifiziert, der eine vordefinierte Dialogfeldvorlage enthält. Diese Vorlage ersetzt die Standarddialogfeldvorlage im unteren Teil der Seite "Allgemein ". Das System verwendet die angegebene Vorlage, um ein Fenster zu erstellen, das ein untergeordnetes Element der Seite "Allgemein " ist. Das System ignoriert das lpPrintTemplateName-Element , wenn dieses Flag angegeben ist.
PD_EXCLUSIONFLAGS
0x01000000
Gibt an, dass das Element "ExclusionFlags " Elemente identifiziert, die von den Seiten der Druckertreibereigenschaft ausgeschlossen werden sollen. Wenn dieses Kennzeichen nicht festgelegt ist, werden Elemente standardmäßig von den Seiten der Druckertreibereigenschaft ausgeschlossen. Die Ausschlüsse verhindern die Duplizierung von Elementen auf der Seite "Allgemein ", alle anwendungsspezifischen Seiten und die Druckertreiberseiten.
PD_HIDEPRINTTOFILE
0x00100000
Blendet das Kontrollkästchen "In Datei drucken " aus.
PD_NOCURRENTPAGE
0x00800000
Deaktiviert das Optionsfeld "Aktuelle Seite ".
PD_NOPAGENUMS
0x00000008
Deaktiviert das Optionsfeld "Seiten " und die zugehörigen Bearbeitungssteuerelemente. Außerdem wird das Kontrollkästchen "Zusammenzählen " im Dialogfeld angezeigt.
PD_NOSELECTION
0x00000004
Deaktiviert das Optionsfeld "Auswahl ".
PD_NOWARNING
0x00000080
Verhindert, dass die Warnmeldung angezeigt wird, wenn ein Fehler auftritt.
PD_PAGENUMS
0x00000002
Wenn dieses Kennzeichen festgelegt ist, wird das Optionsfeld "Seiten " ausgewählt. Wenn keines der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE Flags festgelegt ist, wird das Optionsfeld "Alle " ausgewählt. Wenn dieses Flag festgelegt ist, wenn die PrintDlgEx-Funktion zurückgegeben wird, gibt das lpPageRanges-Element die vom Benutzer angegebenen Seitenbereiche an.
PD_PRINTTOFILE
0x00000020
Wenn dieses Flag festgelegt ist, ist das Kontrollkästchen "Datei drucken " aktiviert. Wenn dieses Flag festgelegt ist, wenn PrintDlgEx zurückgibt, enthält der vom wOutputOffset-Element der DEVNAMES-Struktur angegebene Offset die Zeichenfolge "FILE:". Wenn Sie die StartDoc-Funktion aufrufen, um den Druckvorgang zu starten, geben Sie diese "FILE:"-Zeichenfolge im lpszOutput-Element der DOCINFO-Struktur an. Wenn Sie diese Zeichenfolge angeben, wird das Drucksystem zum Abfragen des Benutzers für den Namen der Ausgabedatei verursacht.
PD_RETURNDC
0x00000100
Bewirkt , dass PrintDlgEx einen Gerätekontext zurückzugeben, der mit den Auswahlen übereinstimmt, die der Benutzer im Eigenschaftenblatt vorgenommen hat. Der Gerätekontext wird in hDC zurückgegeben.
PD_RETURNDEFAULT
0x00000400
Wenn dieses Flag festgelegt ist, wird die PrintDlgEx-Funktion nicht das Eigenschaftenblatt angezeigt. Stattdessen wird die hDevNames - und hDevMode-Member auf DEVNAMES - und DEVMODE-Strukturen festgelegt, die für den Systemstandarddrucker initialisiert werden. Sowohl hDevNames als auch hDevMode müssen NULL sein, oder PrintDlgEx gibt einen Fehler zurück.
PD_RETURNIC
0x00000200
Ähnlich wie das PD_RETURNDC-Flag gibt mit Ausnahme dieses Flags anstelle eines Gerätekontexts einen Informationskontext zurück. Wenn weder PD_RETURNDC noch PD_RETURNIC angegeben werden, wird hDC auf der Ausgabe nicht definiert.
PD_SELECTION
0x00000001
Wenn dieses Flag festgelegt ist, wird die Optionsschaltfläche "Auswahl " ausgewählt. Wenn keine der PD_PAGENUMS, PD_SELECTION oder PD_CURRENTPAGE Flags festgelegt ist, wird die Schaltfläche "Alle " ausgewählt.
PD_USEDEVMODECOPIES
0x00040000
Identisch mit PD_USEDEVMODECOPIESANDCOLLATE.
PD_USEDEVMODECOPIESANDCOLLATE
0x00040000
Dieses Flag gibt an, ob Ihre Anwendung mehrere Kopien und Sortierung unterstützt. Legen Sie dieses Flag auf eingabe fest, um anzugeben, dass Ihre Anwendung mehrere Kopien und Sortierung nicht unterstützt. In diesem Fall gibt das nCopies-Element der PRINTDLGEX-Struktur immer 1 zurück, und PD_COLLATE wird im Flags-Element nie festgelegt.

Wenn dieses Flag nicht festgelegt ist, ist die Anwendung für das Drucken und Sortieren mehrerer Kopien verantwortlich. In diesem Fall gibt das nCopies-Element der PRINTDLGEX-Struktur die Anzahl der Kopien an, die der Benutzer drucken möchte, und das PD_COLLATE-Flag im Flags-Element gibt an, ob der Benutzer die Sortierung möchte.

Unabhängig davon, ob dieses Flag festgelegt ist, kann eine Anwendung von nCopies und PD_COLLATE bestimmen, wie viele Kopien gerendert werden und ob sie sortiert werden sollen.

Wenn dieses Flag festgelegt ist und der Druckertreiber mehrere Kopien nicht unterstützt, ist das Bearbeitungssteuerelement "Kopien" deaktiviert. Wenn dieses Flag festgelegt ist und der Druckertreiber die Sortierung nicht unterstützt, ist das Kontrollkästchen "Sortieren" deaktiviert.

Die Elemente "dmCopies" und " dmCollate " der DEVMODE-Struktur enthalten die Kopien und Sortierung von Informationen, die vom Druckertreiber verwendet werden. Wenn dieses Flag festgelegt ist und der Druckertreiber mehrere Kopien unterstützt, gibt das dmCopies-Element die Anzahl der kopien an, die vom Benutzer angefordert werden. Wenn dieses Flag festgelegt ist und der Druckertreiber die Sortierung unterstützt, gibt das dmCollate-Element der DEVMODE-Struktur an, ob der Benutzer die Sortierung möchte. Wenn dieses Flag nicht festgelegt ist, gibt das dmCopies-Element immer 1 zurück, und das dmCollate-Element ist immer null.

In Windows-Versionen vor Windows Vista ist diese Kennzeichnung nicht durch die aufrufende Anwendung festgelegt, und das dmCopies-Element der DEVMODE-Struktur ist größer als 1, verwenden Sie diesen Wert für die Anzahl der Kopien; andernfalls verwenden Sie den Wert des nCopies-Members der PRINTDLGEX-Struktur .

PD_USELARGETEMPLATE
0x10000000
Erzwingt das Eigenschaftenblatt, eine große Vorlage für die Seite "Allgemein " zu verwenden. Die größere Vorlage bietet mehr Speicherplatz für Anwendungen, die eine benutzerdefinierte Vorlage für den unteren Teil der Seite "Allgemein " angeben.

Flags2

Art: DWORD

ExclusionFlags

Art: DWORD

Eine Reihe von Bit-Flags, die Elemente aus den Druckertreibereigenschaftenseiten im Print-Eigenschaftenblatt ausschließen können. Dieser Wert wird nur verwendet, wenn das PD_EXCLUSIONFLAGS Flag im Flags-Element festgelegt ist. Ausschlusszeichen sollten nur verwendet werden, wenn das zu ausschließende Element entweder auf der Seite "Allgemein " oder auf einer anwendungsspezifischen Seite im Print-Eigenschaftenblatt enthalten ist. Dieses Element kann das folgende Flag angeben.

PD_EXCL_COPIESANDCOLLATE

Schließt die Steuerelemente "Kopien" und "Sortieren" aus den Seiten der Druckertreibereigenschaft in einem Print-Eigenschaftsblatt aus. Dieses Flag sollte immer festgelegt werden, wenn die Anwendung die Standardsteuerelemente "Kopien" und "Sortate" verwendet, die vom unteren Teil der Seite "Allgemein" des Print-Eigenschaftsblatts bereitgestellt werden.

nPageRanges

Art: DWORD

Legen Sie dieses Element auf die anfängliche Anzahl der Seitenbereiche fest, die im lpPageRanges-Array angegeben sind. Wenn die PrintDlgEx-Funktion zurückgegeben wird, gibt nPageRanges die Anzahl der benutzerspezifischen Seitenbereiche an, die im lpPageRanges-Array gespeichert sind. Wenn das PD_NOPAGENUMS-Flag angegeben wird, ist dieser Wert ungültig.

nMaxPageRanges

Art: DWORD

Die Größe in Arrayelementen des lpPageRanges-Puffers . Dieser Wert gibt die maximale Anzahl von Seitenbereichen an, die im Array gespeichert werden können. Wenn das PD_NOPAGENUMS-Flag angegeben wird, ist dieser Wert ungültig. Wenn das PD_NOPAGENUMS-Flag nicht angegeben ist, muss dieser Wert größer als null sein.

lpPageRanges

Typ: LPPRINTPAGERANGE

Zeiger auf einen Puffer mit einem Array von PRINTPAGERANGE-Strukturen . Im Eingabefeld enthält das Array die anfänglichen Seitenbereiche, die im Bearbeitungssteuerelement "Seiten " angezeigt werden sollen. Wenn die PrintDlgEx-Funktion zurückgegeben wird, enthält das Array die vom Benutzer angegebenen Seitenbereiche. Wenn das PD_NOPAGENUMS-Flag angegeben wird, ist dieser Wert ungültig. Wenn das PD_NOPAGENUMS-Flag nicht angegeben ist, muss lpPageRanges nicht NULL sein.

nMinPage

Art: DWORD

Der Mindestwert für die Seitenbereiche, die im Bearbeitungssteuerelement "Seiten " angegeben sind. Wenn das PD_NOPAGENUMS-Flag angegeben wird, ist dieser Wert ungültig.

nMaxPage

Art: DWORD

Der maximale Wert für die Seitenbereiche, die im Bearbeitungssteuerelement "Seiten " angegeben sind. Wenn das PD_NOPAGENUMS-Flag angegeben wird, ist dieser Wert ungültig.

nCopies

Art: DWORD

Enthält die anfängliche Anzahl der Kopien für das Bearbeitungssteuerelement " Kopien ", wenn hDevModeNULL ist; andernfalls enthält das dmCopies-Element der DEVMODE-Struktur den Anfangswert. 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 der Druckertreiber für das Drucken mehrerer Kopien verantwortlich ist. Wenn das PD_USEDEVMODECOPIESANDCOLLATE Flag im Flags-Element festgelegt ist, ist nCopies immer 1 zurückzugeben, und der Druckertreiber ist für das Drucken mehrerer Kopien verantwortlich. Wenn das Flag nicht festgelegt ist, ist die Anwendung für das Drucken der Anzahl der Kopien verantwortlich, die von nCopies angegeben werden. Weitere Informationen finden Sie in der Beschreibung des PD_USEDEVMODECOPIESANDCOLLATE-Flags .

hInstance

Typ: HINSTANCE

Wenn das PD_ENABLEPRINTTEMPLATE-Flag im Flags-Element festgelegt ist, ist hInstance ein Handle für die Anwendungs- oder Modulinstanz, die die Dialogfeldvorlage enthält, die vom lpPrintTemplateName-Element benannt ist. Wenn das PD_ENABLEPRINTTEMPLATEHANDLE Flag im Element " Flags " festgelegt ist, ist hInstance ein Handle für ein Speicherobjekt, das eine Dialogfeldvorlage enthält. Wenn keine der Vorlagen-Flags im Element " Flags " festgelegt ist, sollte hInstanceNULL sein.

lpPrintTemplateName

Typ: LPCTSTR

Der Name der Vorlageressource des Dialogfelds im Modul, das vom hInstance-Element identifiziert wird. Diese Vorlage ersetzt die Standarddialogfeldvorlage im unteren Teil der Seite "Allgemein ". Die Standardvorlage enthält Steuerelemente ähnlich wie im Dialogfeld "Drucken ". Dieses Element wird ignoriert, es sei denn, das PD_ENABLEPRINTTEMPLATE Flag wird im Flags-Element festgelegt.

lpCallback

Typ: LPUNKNOWN

Ein Zeiger auf ein anwendungsdefiniertes Rückrufobjekt.

Das Objekt sollte die IPrintDialogCallback-Klasse enthalten, um Nachrichten für das untergeordnete Dialogfeld im unteren Teil der Seite "Allgemein " zu empfangen.

Das Rückrufobjekt sollte auch die IObjectWithSite-Klasse enthalten, um einen Zeiger auf die IPrintDialogServices-Schnittstelle zu erhalten. Die PrintDlgEx-Funktion ruft IUnknown::QueryInterface auf dem Rückrufobjekt für IID_IPrintDialogCallback und IID_IObjectWithSite auf, um zu ermitteln, welche Schnittstellen unterstützt werden.

Wenn Sie keine der Rückrufinformationen abrufen möchten, legen Sie lpCallback auf NULL fest.

nPropertyPages

Art: DWORD

Die Anzahl der Eigenschaftenseitenhandpunkte im lphPropertyPages-Array .

lphPropertyPages

Typ: HPROPSHEETPAGE*

Enthält ein Array von Eigenschaftenseitenziehpunkten, das dem Print-Eigenschaftenblatt hinzugefügt werden soll. Die zusätzlichen Eigenschaftenseiten folgen der Seite "Allgemein ". Verwenden Sie die Funktion CreatePropertySheetPage , um diese zusätzlichen Seiten zu erstellen. Wenn die PrintDlgEx-Funktion zurückgibt, wurden alle HPROPSHEETPAGE-Handle im lphPropertyPages-Array zerstört. Wenn nPropertyPages null ist, sollte lphPropertyPagesNULL sein.

nStartPage

Art: DWORD

Die Eigenschaftenseite, die anfänglich angezeigt wird. Um die Seite "Allgemein " anzuzeigen, geben Sie START_PAGE_GENERAL an. Geben Sie andernfalls den nullbasierten Index einer Eigenschaftenseite im Array an, das im Element "lphPropertyPages " angegeben ist. Für Konsistenz wird empfohlen, dass das Eigenschaftenblatt immer auf der Seite "Allgemein " gestartet wird.

dwResultAction

Art: DWORD

Legen Sie bei der Eingabe dieses Elements auf Null fest. Wenn die PrintDlgEx-Funktion S_OK zurückgibt, enthält dwResultAction das Ergebnis des Dialogfelds. Wenn PrintDlgEx einen Fehler zurückgibt, sollte dieses Element ignoriert werden. Das dwResultAction-Element kann eine der folgenden Werte sein.

PD_RESULT_APPLY

Der Benutzer hat auf die Schaltfläche " Übernehmen" geklickt und später auf die Schaltfläche "Abbrechen " geklickt. Dies gibt an, dass der Benutzer die änderungen im Eigenschaftenblatt anwenden möchte, aber noch nicht drucken möchte. Die PRINTDLGEX-Struktur enthält die vom Benutzer angegebenen Informationen zum Zeitpunkt des Klickens auf die Schaltfläche " Übernehmen ".

PD_RESULT_CANCEL

Der Benutzer hat auf die Schaltfläche "Abbrechen " geklickt. Die Informationen in der PRINTDLGEX-Struktur sind unverändert.

PD_RESULT_PRINT

Der Benutzer hat auf die Schaltfläche "Drucken " geklickt. Die PRINTDLGEX-Struktur enthält die vom Benutzer angegebenen Informationen.

Hinweise

Wenn sowohl hDevMode als auch hDevNamesNULL sind, initialisiert PrintDlgEx das Eigenschaftenblatt mithilfe des aktuellen Standarddruckers. Um das Eigenschaftenblatt für einen anderen Drucker zu initialisieren, verwenden Sie das wDeviceOffset-Element der DEVNAMES-Struktur , um den Namen des Druckers anzugeben.

Beachten Sie, dass das dmDeviceName-Element der DEVMODE-Struktur auch einen Druckernamen angibt. DmDeviceName ist jedoch auf 32 Zeichen beschränkt, und der wDeviceOffset-Name ist nicht vorhanden. Wenn die Namen "wDeviceOffset " und "dmDeviceName " nicht identisch sind, initialisiert PrintDlgEx das Eigenschaftenblatt mithilfe des von wDeviceOffset angegebenen Druckers.

Wenn das PD_RETURNDEFAULT Flag festgelegt ist und sowohl hDevMode als auch hDevNamesNULL sind, verwendet PrintDlgEx die Elemente hDevNames und hDevMode, um Informationen zum aktuellen Standarddrucker zurückzugeben, ohne das Dialogfeld anzuzeigen.

Während der Ausführung von PrintDlgEx enthalten die in der PRINTDLGEX-Struktur angegebenen DEVMODE- und DEVNAMES-Strukturen möglicherweise nicht immer aktuelle Daten. Aus diesem Grund sollten anwendungsspezifische Eigenschaftenseiten sowie IPrintDialogCallback-Routinen für die erste Seite die IPrintDialogServices-Schnittstelle verwenden, um Informationen zum Status des aktuellen Druckers abzurufen.

Hinweis

Der commdlg.h-Header definiert PRINTDLGEX als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der codierungsneutralen Aliase mit Code, der nicht codierungsneutral ist, kann zu Übereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Header commdlg.h (include Windows.h)

Weitere Informationen

Allgemeine Dialogfeldbibliothek

Konzept

DEVMODE

DEVNAMES

IPrintDialogCallback

IPrintDialogServices

PrintDlgEx

Referenz