Het dialoogvenster Afdrukken weergeven

Dit onderwerp wordt beschreven voorbeeldcode waarmee een dialoogvenster afdrukken wordt weergegeven zodat een gebruiker opties voor het afdrukken van een document kan selecteren. De voorbeeldcode eerst initialiseert een PRINTDLG structuur, en roept vervolgens de functie PrintDlg om het dialoogvenster weer te geven.

In dit voorbeeld stelt u de vlag PD_RETURNDC in de vlaggen lid van de PRINTDLG structuur. Dit zorgt ervoor dat PrintDlg om terug te keren een apparaat context-handle voor de geselecteerde printer in de hDC -lid. U kunt de greep render uitvoer op de printer.

De voorbeeldcode wordt op input, de hDevMode en hDevNames leden ingesteld op NULL. Als de functie TRUE retourneert, deze leden terug ingangen naar DEVMODE en DEVNAMES structuren met de inbreng van de gebruiker en informatie over de printer. U kunt deze informatie gebruiken om te bereiden de uitvoer worden verzonden naar de geselecteerde printer.

PRINTDLG pd;
HWND hwnd;

/ / PRINTDLG initialiseren
ZeroMemory (amp; pd, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = hwnd;
pd.hDevMode = NULL;      / / Vergeet niet gratis of opslaan van hDevMode.
pd.hDevNames = NULL;      / / Vergeet niet gratis of opslaan van hDevNames.
pd.Vlaggen = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; 
pd.nCopies = 1;
pd.nFromPage = 0xFFFF; 
pd.nToPage = 0xFFFF; 
pd.nMinPage = 1; 
pd.nMaxPage = 0xFFFF; 

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

/ / GDI oproepen om te renderen uitvoer. 

    / / Delete DC wanneer gedaan.
    DeleteDC(pd.hDC);
} 

Index