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 для этих ручек когда вы сделаны с диалоговым окном. При использовании реализации framework Настройка печати, представленной 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++ программист руководстве.

# include lt;afxdlgs.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Пример  Образца DIBLOOK MFC

См. также CPrintInfo

Index