Vise dialogboksen Skriv ut

Dette emnet beskriver eksempelkode som vises en Skriv ut -dialogboksen slik at en bruker kan velge alternativer for utskrift av et dokument. Eksempelkoden initialiserer først en PRINTDLG struktur, og deretter kaller den PrintDlg -funksjonen for å vise dialogboksen.

Dette eksemplet angir flagget PD_RETURNDC i flaggene -medlem av PRINTDLG -strukturen. Dette fører til PrintDlg til å returnere en enhet kontekstreferanse for den valgte skriveren i hDC -medlem. Du kan bruke håndtaket for å gjengi utdata på skriveren.

For inndata angir eksempelkoden hDevMode og hDevNames medlemmene til NULL. Hvis funksjonen returnerer SANN, returnerer disse medlemmene referanser til DEVMODE og DEVNAMES strukturer som inneholder er brukerinndataene og informasjon om skriveren. Du kan bruke denne informasjonen til å forberede en utdataene skal sendes til den valgte skriveren.

PRINTDLG pd;
HWND hwnd;

/ / Initialisere PRINTDLG
ZeroMemory (amp; pd, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = hwnd;
PD.hDevMode = NULL;      / / Ikke glem å gratis eller lagre hDevMode.
PD.hDevNames = NULL;      / / Ikke glem å gratis eller lagre hDevNames.
PD.Flagg = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; 
PD.nCopies = 1;
PD.nFromPage = 0xFFFF; 
PD.nToPage = 0xFFFF; 
PD.nMinPage = 1; 
PD.nMaxPage = 0xFFFF; 

Hvis (PrintDlg(&pd) == TRUE) {

/ / GDI kaller for å gjengi utdataene. 

    / / Delete DC når gjort.
    DeleteDC(pd.hDC);
} 

Index