Das Dialogfeld Drucken anzeigen

Dieses Thema beschreibt Beispielcode, der ein Drucken -Dialogfeld zeigt, so dass ein Benutzer Optionen zum Drucken eines Dokuments auswählen kann. Der Code initialisiert zuerst eine PRINTDLG -Struktur und ruft dann die PrintDlg -Funktion, um das Dialogfeld anzuzeigen.

In diesem Beispiel wird das PD_RETURNDC-Flag in den Flags die PRINTDLG -Struktur. Dies bewirkt, dass PrintDlg einen Handle für einen Gerätekontext für den ausgewählten Drucker in der hDC -Member zurückgegeben. Den Griff können Sie die Ausgabe auf dem Drucker rendern.

Bei der Eingabe legt der Beispielcode die hDevMode und hDevNames Mitglieder auf NULL fest. Wenn die Funktion TRUE zurückgibt, diese Member zurück Handles zu DEVMODE und DEVNAMES -Strukturen, die die Benutzereingaben enthalten und Informationen über den Drucker. Sie können diese Informationen verwenden, bereiten Sie die Ausgabe an den ausgewählten Drucker gesendet werden.

PRINTDLG pd;
HWND Hwnd;

/ / Initialize PRINTDLG
ZeroMemory (Amp; te, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = Hwnd;
PD.hDevMode = NULL;      / / Nicht vergessen zu befreien oder hDevMode speichern.
PD.hDevNames = NULL;      / / Nicht vergessen zu befreien oder hDevNames speichern.
RDLFlaggen = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; 
PD.nCopies = 1;
PD.nFromPage = 0xFFFF; 
PD.nToPage = 0xFFFF; 
PD.nMinPage = 1; 
PD.nMaxPage = 0xFFFF; 

Wenn (PrintDlg(&pd) == TRUE) {}

/ / GDI aufruft, um die Ausgabe zu rendern. 

    / / Löschen DC wenn fertig.
    DeleteDC(pd.hDC);
} 

Index