CPrintDialog

CPrintDialog клас інкапсулює послуги, що надаються Windows Загальні діалогового вікна друку. Загальні друку діалогових вікнах забезпечити легкий спосіб реалізації друку і параметри друку діалогових вікон у відповідності до стандартів Windows.

Якщо ви хочете, ви можете розраховувати на рамках обробляти багато аспектів процесу друку для вашого застосування. У цьому випадку рамках автоматично відображає Windows Загальні діалогового вікна друку. Ви можете також мати ручку рамки, друк для вашої програми, але змінити Загальні діалогового вікна Друк із власного діалогове вікно друку. Щоб отримати додаткові відомості про використання рамках обробляти завдання друку, перегляньте статтю друку в Visual C++ програміста керівництво.

Якщо ви хочете, щоб ваш додаток для обробки друк без участі в рамках, ви можете використовувати CPrintDialog класу "як є", з Конструктор, за умови, або ви можете отримати свій власний клас діалогове вікно з CPrintDialog і писати конструктора відповідно до ваших потреб. У будь-якому випадку цих діалогових вікнах буде вести себе як стандартні діалогові вікна MFC тому, що вони походять з класом CCommonDialog.

Використовувати CPrintDialog об'єкта, спочатку створіть об'єкт за допомогою CPrintDialog Конструктор. Після того, як побудували діалогове вікно, можна встановити або змінити будь-які значення в m_pd структурі ініціалізувати значень елементів керування в діалоговому вікні. M_pd структура є типу PRINTDLG. Для отримання додаткової інформації про цю структуру зверніться до документації Win32 SDK.

Якщо не вказати власні ручки у m_pd для членів hDevMode і hDevNames , переконайтеся, що викликати функцію Windows GlobalFree для цих маркерів, коли ви зробили з діалогового вікна. При використанні у рамках реалізації параметри друку надаються CWinApp::OnFilePrintSetup, не потрібно безкоштовні цих маркерів. Маркери підтримується CWinApp і звільнені в CWinAppдеструктор. Варто тільки безкоштовні цих маркерів, при використанні CPrintDialog автономний.

Після ініціалізації елементи керування діалоговим вікном, викличте функцію член DoModal для відображення діалогового вікна і дозволяє користувачеві вибрати параметри друку. DoModal повертає чи користувач вибрано ОК (IDOK), або кнопку "Скасувати" (IDCANCEL).

Якщо DoModal IDOK, використайте один із CPrintDialogметоди отримання відомостей, введених користувачем.

CPrintDialog::GetDefaults член функція є корисним для отримання поточних параметрів принтера без відображення діалогового вікна. Ця функція-член потребує, без участі користувача.

Можна скористатися функцією Windows CommDlgExtendedError , щоб визначити, чи сталася помилка під час ініціалізації діалогового вікна та дізнатися більше про помилку. Щоб отримати додаткові відомості з цієї функції зверніться до документації Win32 SDK.

CPrintDialog спирається на в COMMDLG.DLL-файлом, який поставляється з Windows версії 3.1 і пізніше.

Настроювання діалогового вікна, отримати класу з CPrintDialog, надати діалоговому шаблон і додати повідомлення карти для обробки повідомлень повідомлення з розширеного керування. Будь-які необробленої повідомлення повинні бути передані базового класу. Настроювання гачок функція не є обов'язковим.

Для обробки те саме повідомлення по-різному залежно чи діалогового вікна Друк або параметри друку, необхідно отримати клас для кожного діалогового вікна. Ви повинні також змінити функцію Windows AttachOnSetup , яка займається створенням нового діалогове вікно, коли обрано кнопку Параметри друку в діалоговому вікні Друк.

Щоб отримати додаткові відомості про використання CPrintDialog, перегляньте Загальних класів діалогове вікно в Visual C++ програміста керівництво.

# включити lt;afxdlgs.h>

|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма

Зразок  MFC зразок DIBLOOK

Дивіться також CPrintInfo

Index