[Dies ist vorläufige Dokumentation und Änderungenvorbehalten.]
Die PrintDlgEx -Funktion Ruft die HandleMessage -Methode der Anwendung die Möglichkeit Nachrichten gesendet, um das Dialogfeld Kind im unteren Teil der Seite Allgemein im Print -Eigenschaftsfenstergeben. Das Kind-Dialogfeld enthält Steuerelemente ähnlich denen im Dialogfeld " Drucken ".
HRESULT HandleMessage () HWNDhDlg,,UINTuMsg,WPARAMwParam,,LPARAMlParam,LRESULT* pResult);
Wenn der Parameter uMsg die WM_INITDIALOG -Meldung angibt, ist lParam ein Zeiger auf eine PRINTDLGEX Struktur enthält die Werte angegeben, wenn das Eigenschaftenblatt erstellt wurde.
S_OK zurück, wenn die HandleMessage -Implementierung die Nachricht verarbeitet. In diesem Fall durchführen die PrintDlgEx -Funktion keine Standard-Nachrichtenverarbeitung.
S_FALSE zurück, wenn Sie PrintDlgEx ihre Nachricht Standardbehandlung durchführen möchten.
Für Benachrichtigungen durch übergeben der WM_NOTIFY -Meldung, müssen Sie die Funktion SetWindowLong mit dem DWL_MSGRESULT-Wert um einen Rückgabewert festzulegen. Wenn Sie SetWindowLongaufrufen, verwenden GetParent (hDlg) , DWL_MSGRESULT Wert der allgemeinen Seite, die das übergeordnete Element das untergeordnete Fenster ist.
Die Standard-Dialogfeldprozedur für das untergeordnete Fenster im unteren Teil der allgemeinen Seite verarbeitet die WM_INITDIALOG -Meldung vor der Übergabe an die HandleMessage -Methode. Für alle anderen Nachrichten, die an das untergeordnete Fenster erhält HandleMessage die Nachricht zuerst. Dann zurück die HandleMessage , Wert bestimmt, ob das Standard-Dialogfeld-Verfahren die Nachricht verarbeitet oder es ignoriert.
Wenn HandleMessage die WM_CTLCOLORDLG -Nachricht verarbeitet, muss einen gültiger Pinsel-Handle für den Hintergrund im Dialogfeld zurückgegeben. Im Allgemeinen wenn HandleMessage jede Nachricht WM_CTLCOLOR * verarbeitet, muss einen gültiger Pinsel-Handle für den Hintergrund des angegebenen Steuerelements zurückgeben.
Rufen Sie nicht die EndDialog -Funktion von der HandleMessage -Methode. Stattdessen können HandleMessage die PostMessage -Funktion eine WM_COMMAND -Meldung mit der IDABORT-Wert, der die Dialogfeldprozedur Post aufrufen. IDABORT schließt das Eigenschaftenblatt Drucken und bewirkt, dass PrintDlgEx PD_RESULT_CANCEL in der DwResultAction -Member der PRINTDLGEX -Struktur zurück. Wenn Sie müssen wissen, warum HandleMessage das Dialogfeld geschlossen, müssen Sie Ihre eigenen Kommunikationsmechanismus zwischen der HandleMessage -Methode und Ihrer Anwendung bereitstellen.
Sie können eine Unterklasse die standardmäßigen Steuerelementen des Dialogfeldes Kind im unteren Teil der Seite Allgemein im Feld. Diese Standardsteuerelemente sind ähnlich denen im Dialogfeld " Drucken ". Allerdings kann die Standard-Dialogfeldprozedur auch Unterklasse der Steuerelemente. Aus diesem Grund sollten Sie Unterklasse Steuerelemente, wenn HandleMessage die WM_INITDIALOG -Meldung verarbeitet. Dies stellt sicher, dass Ihre Unterklasse-Prozedur Steuerelement-spezifische Nachrichten vor der Unterklasse-Prozedur festlegen, indem das Dialogfeld im Feld Prozedur empfängt.
&Nbsp; Windows NT: Version 5.0 oder höher erforderlich.
Windows:Nicht unterstützt.
Windows CE:Nicht unterstützt.
Header:In commdlg.h deklariert.
Übersicht über Common Dialog Box Library, IPrintDialogCallback, EndDialog PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY