Поделиться через


Класс CPrintDialog

Инкапсулирует службы, предоставленные в диалоговом окне Windows общим для печати.

class CPrintDialog : public CCommonDialog

Члены

Открытые конструкторы

Имя

Описание

CPrintDialog::CPrintDialog

Создает объект CPrintDialog.

Открытые методы

Имя

Описание

CPrintDialog::CreatePrinterDC

Создает контекст устройства принтере без отображения диалогового окна печати.

CPrintDialog::DoModal

Отображает диалоговое окно и позволяет пользователю выполнить выделение.

CPrintDialog::GetCopies

Возвращает запрошенное число копий.

CPrintDialog::GetDefaults

Получает устройство по умолчанию без отображения диалогового окна.

CPrintDialog::GetDeviceName

Извлекает имя выбранного в данный момент устройства принтера.

CPrintDialog::GetDevMode

Извлекает структуру DEVMODE.

CPrintDialog::GetDriverName

Извлекает имя выбранного в данный момент драйвер принтера.

CPrintDialog::GetFromPage

Получает начальный страница диапазона печати.

CPrintDialog::GetPortName

Извлекает имя выбранного в данный момент порта принтера.

CPrintDialog::GetPrinterDC

Получает дескриптор контекста устройства принтера.

CPrintDialog::GetToPage

Извлекает страницы конечного диапазона печати.

CPrintDialog::PrintAll

Указывает, нужно ли выводить все страницы документа.

CPrintDialog::PrintCollate

Определяет, является ли разбирается по копиям копии.

CPrintDialog::PrintRange

Указывает, нужно ли выводить только заданный диапазон страниц.

CPrintDialog::PrintSelection

Указывает, нужно ли выводить только в данный момент выбранные элементы.

Открытые члены данных

Имя

Описание

CPrintDialog::m_pd

Структура, используемая для настройки объект CPrintDialog.

Заметки

Общие диалоговые окна печати обеспечивают простой способ реализации диалоговые окна печати и настройки печати в соответствии с стандартами последовательном Windows.

Примечание

Класс CPrintDialogEx инкапсулирует службы, предоставленные страницей свойств печати в Windows 2000.Дополнительные сведения см. в разделе CPrintDialogEx.

Устаревшие функциональные возможности CPrintDialog одним из CPageSetupDialog, которое предназначено для обеспечения пользователя с общим диалоговым окном, как для установки и настройки печати для страницы.

Можно положиться на платформе, чтобы обрабатывать многие аспекты процесса печати для приложения. В этом случае платформа автоматически отображают диалоговое окно Windows общее для печати. Можно также использовать печать маркера границы для приложения только переопределить общее диалоговое окно печати собственным диалогового окна печати. Дополнительные сведения об использовании платформы для обработки задачи печати см. в статье Печать.

Если необходимо приложению обрабатывать печать без вмешательства платформ, то можно использовать класс CPrintDialog "как" с использованием предоставленного конструктору или можно создать собственный класс из диалогового окна конструктор CPrintDialog и записи в соответствии с свои мере необходимости. В любом случае эти диалоговые окна будут вести себя как стандартные диалоговые окна MFC, поскольку они наследуются от класса CCommonDialog.

Чтобы использовать объект CPrintDialog, сначала создайте объект с помощью конструктора CPrintDialog. Как только было создано диалоговое окно можно задавать или изменять все значения в структуре m_pd для инициализации значений элементов управления диалогового окна. Структура m_pd типа PRINTDLG. Дополнительные сведения об этой структуре см. в разделе Windows SDK.

Если не предоставить собственные маркеры для элементов в m_pdhDevMode и hDevNames, необходимо вызвать функцию Windows GlobalFree для этих маркеров после завершения с диалоговым окном. При использовании реализации установки платформы CWinApp::OnFilePrintSetup, предусмотренной печати не следует освободить эти дескрипторы. Маркеры обслуживаются CWinApp и освобождаются в деструкторе CWinApp. Требуется только освободить эти маркеры при использовании CPrintDialog изолированного.

После инициализации элементов управления диалогового окна, вызовите функцию-член DoModal для отображения диалогового окна и, чтобы разрешить пользователю выбирать параметры печати. Возвращает DoModal выбрал ли пользователь кнопку ОК (IDOK) или Отмены (IDCANCEL).

Если DoModal возвращает IDOK, можно использовать один из CPrintDialog функции-члены для получения ввода информации пользователем.

Функция-член CPrintDialog::GetDefaults позволяет извлечь текущие значения по умолчанию принтер без отображения диалогового окна. Эта функция-член не требует взаимодействия с пользователем.

Можно использовать функцию Windows CommDlgExtendedError чтобы определить, произошла ли ошибка во время инициализации диалогового окна и получить дополнительные сведения об ошибке. Дополнительные сведения об этой функции см. в разделе Windows SDK.

CPrintDialog основан на файле COMMDLG.DLL, который поставляется с версиями Windows 3,1 и более поздних версий.

Настраивать диалоговое окно создать класс, производный от CPrintDialog, предоставить пользовательский шаблон диалогового окна, и добавить сопоставление сообщений для обработки сообщений уведомлений от расширенных элементов управления. Все необработанных сообщений должны быть переданы на базовый класс. Функция обработчика настройке не требуется.

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

Дополнительные сведения об использовании CPrintDialog см. в разделе Общие классы диалоговых окон.

Иерархия наследования

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CPrintDialog

Требования

Header: afxdlgs.h

См. также

Ссылки

Класс CCommonDialog

Диаграмма иерархии

Структура CPrintInfo

Основные понятия

MFC просматривает DIBLOOK