У цьому розділі описано приклад коду, який відображає діалогове вікно Друк , так що користувач може вибрати параметри для друку документа. Приклади коду першу ініціалізує PRINTDLG структуру а потім викликає функцію PrintDlg , щоб відобразити діалогове вікно.
У цьому прикладі вибирає PD_RETURNDC прапор прапори членом PRINTDLG структури. Це призводить до PrintDlg повернутися дескриптор контексту пристрою для вибраного принтера в hDC члена. За допомогою маркера для візуалізації виводу на принтер.
На введення зразки коду набору членів hDevMode і hDevNames значення null. Якщо функція повертає TRUE, ці члени повернення ручки до DEVMODE і DEVNAMES структури, що містять користувача внесок і відомості про принтер. Можна використовувати цю інформацію для підготовки виробництва буде відправлено до вибраного принтера.
PRINTDLG pd;
HWND hwnd;
/ / Ініціалізація PRINTDLG
ZeroMemory (amp; pd, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = hwnd;
PD.hDevMode = NULL; / / Не забудьте безкоштовно або зберігати hDevMode.
PD.hDevNames = NULL; / / Не забудьте безкоштовно або зберігати hDevNames.
PD.Прапори = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
PD.nCopies = 1;
PD.nFromPage = 0xFFFF;
PD.nToPage = 0xFFFF;
PD.nMinPage = 1;
PD.nMaxPage = 0xFFFF;
Якщо (PrintDlg(&pd) = = TRUE) {
/ / GDI називає надати виводу.
/ / Видалити постійного струму, коли зроблено.
DeleteDC(pd.hDC);
}