PRINTDLG структура содержит сведения, которые использует функцию PrintDlg для инициализации диалогового окна Печать . После того, как пользователь закрывает диалогового окна, система использует эту структуру для возвращения сведений о выбранных пользователем.
typedef struct tagPD {/ / pd DWORD lStructSize;
HWND hwndOwner;
ОБРАБАТЫВАТЬ hDevMode;
ОБРАБАТЫВАТЬ hDevNames;
HDC hDC;
DWORD Флаги;
СЛОВО nFromPage;
СЛОВО nToPage;
СЛОВО nMinPage;
СЛОВО nMaxPage;
СЛОВО nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCTSTR lpPrintTemplateName;
LPCTSTR lpSetupTemplateName;
ОБРАБАТЫВАТЬ hPrintTemplate;
ОБРАБАТЫВАТЬ hSetupTemplate;
} PRINTDLG
Если hDevMode равен NULL на входе, PrintDlg выделяет память для структуры DEVMODE , инициализирует его членов для указания пользователем данные и возвращает дескриптор, который идентифицирует его.
Если драйвер устройства для указанного принтера не поддерживает расширенные устройства режимы, hDevMode имеет значение NULL при PrintDlg.
Если имя устройства (указанный член dmDeviceName структуры DEVMODE ) не появляется в секции [устройства] победа.INI, PrintDlg возвращает сообщение об ошибке.
Для получения дополнительных сведений о членах hDevMode и hDevNames см. раздел Примечания в конце данной темы.
Член hDevNames может иметь значение NULL, в этом случае, PrintDlg выделяет память для структуры DEVNAMES, относящейся , инициализирует ввода своих членов для обозначения пользователя, и возвращает дескриптор, который определяет его.
Для получения дополнительных сведений о членах hDevMode и hDevNames см. раздел Примечания в конце данной темы.
PD_ALLPAGES | |
По умолчанию флаг, который указывает, что все изначально переключателя. Этот флаг используется в качестве заполнителя для обозначения, что флаги PD_PAGENUMS и PD_SELECTION не указаны. | |
PD_COLLATE | |
Если этот флаг установлен, установлен флажок Разобрать по копиям. Если этот флаг установлен, когда функция PrintDlg возвращает, приложение должно эмулировать параметры сортировки нескольких копий. Для получения дополнительной информации смотрите описание флага PD_USEDEVMODECOPIESANDCOLLATE. |
|
PD_DISABLEPRINTTOFILE | |
Отключает флажок Печать в файл. | |
PD_ENABLEPRINTHOOK | |
Включает процедуру подключения, указанный в lpfnPrintHook член. Это позволяет процедуру подключения для диалогового окна Печать. | |
PD_ENABLEPRINTTEMPLATE | |
Указывает, что члены hInstance и lpPrintTemplateName укажите замена для шаблона поля диалогового окна печати по умолчанию. | |
PD_ENABLEPRINTTEMPLATEHANDLE | |
Указывает, что член hPrintTemplate идентифицирует блок данных, содержащего шаблон box предустановленной диалогового окна. Этот шаблон заменяет шаблон по умолчанию для диалогового окна Печать . Система игнорирует lpPrintTemplateName члена, если этот флаг задан. | |
PD_ENABLESETUPHOOK | |
Включает процедуру подключения, указанный в lpfnSetupHook член. Это позволяет процедуру подключения для диалогового окна Настройка печати. | |
PD_ENABLESETUPTEMPLATE | |
Указывает, что члены hInstance и lpSetupTemplateName укажите замена для шаблона поля диалогового окнанастройки печатипо умолчанию . | |
PD_ENABLESETUPTEMPLATEHANDLE | |
Указывает, что член hSetupTemplate идентифицирует блок данных, содержащего шаблон box предустановленной диалогового окна. Этот шаблон заменяет шаблон по умолчанию для диалогового окна Настройка печати . Система игнорирует lpSetupTemplateName члена, если этот флаг задан. | |
PD_HIDEPRINTTOFILE | |
Скрывает флажок Печать в файл. | |
PD_NONETWORKBUTTON | |
Скрывает и отключает кнопку " сеть ". | |
PD_NOPAGENUMS | |
Отключает переключатель страниц и связанных с ними элементов управления. | |
PD_NOSELECTION | |
Отключает переключатель на Выбор. | |
PD_NOWARNING | |
Запрещает отображение когда не принтер по умолчанию предупреждающее сообщение. | |
PD_PAGENUMS | |
Если этот флаг установлен, страницы выбран переключатель. Если этот флаг установлен, когда функция PrintDlg возвращает, nFromPage и nFromPage членов указать начальный и конечный страницы, указанные пользователем. |
|
PD_PRINTSETUP | |
Система для отображения диалоговое окно Настройка печати , а не диалоговое окно Печать. | |
PD_PRINTTOFILE | |
Если этот флаг установлен, флажок Печать в файл установлен. Если этот флаг установлен, когда функция PrintDlg возвращает, смещение, обозначенных член wOutputOffset структуры DEVNAMES, относящейся содержит строку "файл:". При вызове StartDoc функция для начала печати операции, укажите это "файл:" строка в элементе lpszOutput DOCINFO структуры. Указание этой строки вызывает подсистему печати для запроса у пользователя имя выходного файла. |
|
PD_RETURNDC | |
Вызывает PrintDlg для возвращения контекста устройства соответствует выбранные пользователем в диалоговом окне. В hDC возвращается контекст устройства. | |
PD_RETURNDEFAULT | |
Если этот флаг указан, функция PrintDlg не отображает диалоговое окно "". Вместо этого, он задает членов hDevNames и hDevMode ручки для DEVMODE и DEVNAMES, относящейся структур, которые инициализируются для принтера по умолчанию системы. HDevNames и hDevMode должен иметь значение NULL, или PrintDlg возвращает сообщение об ошибке. Если принтер по умолчанию системы поддерживается драйвером старого принтера (ранее Windows версии 3.0), возвращается только hDevNames ; hDevMode имеет значение NULL. |
|
PD_RETURNIC | |
По аналогии с флагом PD_RETURNDC, за исключением этот флаг возвращает информацию контекста, а не контекст устройства. Если не указаны ни PD_RETURNDC, ни PD_RETURNIC, hDC не на выходе. | |
PD_SELECTION | |
Если этот флаг установлен, Выбор переключателя. Если ни PD_PAGENUMS, ни PD_SELECTION, все переключателя. |
|
PD_SHOWHELP | |
Вызывает диалоговое окно для отображения кнопки Справка . Член hwndOwner необходимо указать окно, чтобы получить HELPMSGSTRING зарегистрированы сообщения отправляемые диалогового окна, когда пользователь нажимает кнопку Справка. | |
PD_USEDEVMODECOPIES | |
Же самое, что PD_USEDEVMODECOPIESANDCOLLATE | |
PD_USEDEVMODECOPIESANDCOLLATE | |
Этот флаг указывает, поддерживает ли приложение несколько копий и параметры сортировки. Установите этот флаг на входе указать, что приложение не поддерживает несколько копий и параметры сортировки. В этом случае член nCopies структуры PRINTDLG всегда возвращает значение 1, и никогда не PD_COLLATE устанавливается в элементе флаги. Если этот флаг не установлен, приложение отвечает за печати и обобщения нескольких копий. В этом случае член nCopies структуры PRINTDLG указывает количество копий, которое пользователь хочет печатать, и флаг PD_COLLATE в странах-членах флаги указывает ли пользователь хочет параметров сортировки. Независимо от ли этот флаг установлен приложение может определить от nCopies и PD_COLLATE количество копий для визуализации и следует ли печатать их воедино. Если установлен этот флаг, и драйвер принтера не поддерживает несколько копий, копий элемент управления отключен. Аналогично если установлен этот флаг, и драйвер принтера не поддерживает параметры сортировки, отключен флажок Разобрать по копиям. Члены dmCopies и dmCollate структуры DEVMODE содержат копии и сопоставления информации, используемый драйвером принтера. Если установлен этот флаг, и драйвер принтера поддерживает несколько копий, член dmCopies указывает количество копий, запрошенных пользователем. Если установлен этот флаг, и драйвер принтера поддерживает параметры сортировки, член dmCollate структуры DEVMODE указывает ли пользователь хочет параметров сортировки. Если этот флаг не установлен, член dmCopies всегда возвращает значение 1, а dmCollate член всегда равен нулю. |
По возвращении из PrintDlg nFromPage является начальной страницы, указанные пользователем. Если выбран переключатель страницы , когда пользователь нажимает кнопку ОК , наборы PrintDlg PD_PAGENUMS флаг и не возвращается до пользователь вводит начальной страницы значение, которое находится в пределах минимума на максимальный диапазон.
Windows 95: Если входное значение для nFromPage или nToPage находится вне диапазона, указанного в nMinPage и nMaxPage, PrintDlg возвращает сообщение об ошибке.
Windows NT: Если ввод значения для nFromPage или nToPage находится вне диапазона минимум/максимум, PrintDlg возвращает сообщение об ошибке только если задан флаг PD_PAGENUMS; в противном случае он отображает диалоговое окно, но изменяет значение вне диапазона на минимальное или максимальное значение.
По возвращении из PrintDlg nToPage является конечной страницы, указанные пользователем. Если при использовании нажимает кнопку ОК , наборы PrintDlg PD_PAGENUMS флаг и не возвращается до выбран переключатель на страницы пользователь вводит конечной страницы значение, которое находится в пределах минимума на максимальный диапазон.
При вызове функции PrintDlg , убедитесь, что член wDeviceOffset структуры DEVNAMES, относящейся идентичен член dmDeviceName структуры DEVMODE . Если эти члены не указан тот же принтер, PrintDlg инициализирует диалоговое окно с помощью принтера, указанный член wDeviceOffset.
Как правило если hDevMode и hDevNames равны NULL, PrintDlg инициализирует диалоговое окно с помощью текущего принтера по умолчанию. Однако если установлен флаг PD_RETURNDEFAULT, и hDevMode и hDevNames равны NULL, PrintDlg использует членов hDevNames и hDevMode для возвращения сведений о текущем принтер по умолчанию без отображения диалогового окна.
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winspool.h.
Юникод:Определяется как структуры Unicode и ANSI.
Общие диалогового окна Обзор библиотеки, Общие диалоговое окно окно структуры, CreateDC CreateIC, PrintDlg, DEVMODE, DEVNAMES, относящейся, WM_INITDIALOG