Відображення діалогового вікна Друк

У цьому розділі описано приклад коду, який відображає діалогове вікно Друк , так що користувач може вибрати параметри для друку документа. Приклади коду першу ініціалізує 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);
} 

Index