PRINTDLG

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 
 

Члены

lStructSize
Указывает размер структуры в байтах.
hwndOwner
Идентифицирует окно, которому принадлежит диалогового окна. Этот член может быть любой допустимый дескриптор, или это может быть значение NULL, если диалогового окна не имеет собственника.
hDevMode
Дескриптор объекта движимого глобальной памяти, содержащий структуры DEVMODE . Если hDevMode не является NULL на входе, необходимо выделить подвижных блоков памяти для структуры DEVMODE и инициализировать его членов. В PrintDlg функция использует входные datato инициализации элементов управления в диалоговом окне. Когда возвращается PrintDlg , члены DEVMODE свидетельствуют о введенных данных.

Если hDevMode равен NULL на входе, PrintDlg выделяет память для структуры DEVMODE , инициализирует его членов для указания пользователем данные и возвращает дескриптор, который идентифицирует его.

Если драйвер устройства для указанного принтера не поддерживает расширенные устройства режимы, hDevMode имеет значение NULL при PrintDlg.

Если имя устройства (указанный член dmDeviceName структуры DEVMODE ) не появляется в секции [устройства] победа.INI, PrintDlg возвращает сообщение об ошибке.

Для получения дополнительных сведений о членах hDevMode и hDevNames см. раздел Примечания в конце данной темы.

hDevNames
Дескриптор объекта движимого глобальной памяти, содержащий структуры DEVNAMES, относящейся . Если hDevNames не является NULL на входе, необходимо выделить подвижных блоков памяти для структуры DEVNAMES, относящейся и инициализировать его членов. В PrintDlg функция использует входные datato инициализации элементов управления в диалоговом окне. По возвращении из PrintDlg DEVNAMES, относящейся членов содержат информацию для принтера выбран пользователем. Можно использовать эту информацию для создания контекста устройства или информацию контекста.

Член hDevNames может иметь значение NULL, в этом случае, PrintDlg выделяет память для структуры DEVNAMES, относящейся , инициализирует ввода своих членов для обозначения пользователя, и возвращает дескриптор, который определяет его.

Для получения дополнительных сведений о членах hDevMode и hDevNames см. раздел Примечания в конце данной темы.

hDC
Идентифицирует контекст устройства или контекста информацию, в зависимости от того, ли Flags указывает флаг PD_RETURNDC или PC_RETURNIC. Если не указано ни флага, значение этого элемента не определено. Если указаны оба флаги, PD_RETURNDC имеет приоритет.
Флаги
Набор битовых флагов, которые можно использовать для инициализации общего диалогового окна Печать . По возвращении из диалогового окна он устанавливает эти флаги для указания пользовательского ввода. Этот член может быть комбинацией следующих флагов:
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 член всегда равен нулю.


nFromPage
Определяет начальное значение для начальной страницы управления edit.

По возвращении из PrintDlg nFromPage является начальной страницы, указанные пользователем. Если выбран переключатель страницы , когда пользователь нажимает кнопку ОК , наборы PrintDlg PD_PAGENUMS флаг и не возвращается до пользователь вводит начальной страницы значение, которое находится в пределах минимума на максимальный диапазон.

Windows 95: Если входное значение для nFromPage или nToPage находится вне диапазона, указанного в nMinPage и nMaxPage, PrintDlg возвращает сообщение об ошибке.

Windows NT: Если ввод значения для nFromPage или nToPage находится вне диапазона минимум/максимум, PrintDlg возвращает сообщение об ошибке только если задан флаг PD_PAGENUMS; в противном случае он отображает диалоговое окно, но изменяет значение вне диапазона на минимальное или максимальное значение.

nToPage
Определяет начальное значение для конечного элемента управления для редактирования страницы.

По возвращении из PrintDlg nToPage является конечной страницы, указанные пользователем. Если при использовании нажимает кнопку ОК , наборы PrintDlg PD_PAGENUMS флаг и не возвращается до выбран переключатель на страницы пользователь вводит конечной страницы значение, которое находится в пределах минимума на максимальный диапазон.

nMinPage
Определяет минимальное значение для диапазона страниц, указанных в строках ввода страницы от и до . Если nMinPage равен nMaxPage, переключатель на страницы и начальные и конечные элементы управления редактирования страницы недоступны.
nMaxPage
Определяет максимальное значение для диапазона страниц, указанных в строках ввода страницы от и до.
nCopies
Содержит начальное количество копий для элемента управления редактирования копии , если hDevMode имеет значение NULL; в противном случае член dmCopies структуры DEVMODE содержит начальное значение. По возвращении из PrintDlg nCopies содержит фактическое количество копий для печати. Это значение зависит от того, отвечает ли приложение или драйвер принтера для печати нескольких копий. Если флаг PD_USEDEVMODECOPIESANDCOLLATE установлен в странах-членах флагов , nCopies всегда 1 на возвращение, и драйвер принтера отвечает за печать нескольких копий. Если флаг не установлен, приложение отвечает за печать количество копий, предусмотренных nCopies. Для получения дополнительной информации смотрите описание флага PD_USEDEVMODECOPIESANDCOLLATE.
hInstance
Если установлен флаг PD_ENABLEPRINTTEMPLATE или PD_ENABLESETUPTEMPLATE в странах-членах флаги , hInstance является дескриптор приложения или модуля экземпляр, содержащий диалогового окна поле шаблон с именем lpPrintTemplateName или lpSetupTemplateName член.
lCustData
Задает определяемые приложением данные, которые система проходит процедуру подключения определенных lpfnPrintHook или lpfnSetupHook член. Когда система отправляет сообщение WM_INITDIALOG процедуру подключения, параметр lParam сообщения является указатель на структуру PRINTDLG , указанного при создании диалогового окна. Для получения lCustData значение этого указателя можно использовать процедуру подключения.
lpfnPrintHook
Указатель на PrintHookProc крюк процедуру, которая может обрабатывать сообщения, предназначенные для диалогового окна Печать . Этот элемент игнорируется, если только флаг PD_ENABLEPRINTHOOK установлен в странах-членах флаги.
lpfnSetupHook
Указатель на SetupHookProc крюк процедуру, которая может обрабатывать сообщения, предназначенные для диалогового окна Настройка печати . Этот элемент игнорируется, если только флаг PD_ENABLESETUPHOOK установлен в странах-членах флаги.
lpPrintTemplateName
Указатель на ограниченную значением null строку, которая содержит название ресурса шаблона поля диалогового окна в модуле, выявленные hInstance члена. Этот шаблон заменяет шаблон поля диалогового окна Печать по умолчанию. Этот элемент игнорируется, если только флаг PD_ENABLEPRINTTEMPLATE установлен в странах-членах флаги.
lpSetupTemplateName
Указатель на ограниченную значением null строку, которая содержит название ресурса шаблона поля диалогового окна в модуле, выявленные hInstance члена. Этот шаблон заменяет шаблон поля диалогового окна Настройка печати по умолчанию. Этот элемент игнорируется, если только флаг PD_ENABLESETUPTEMPLATE установлен в странах-членах флаги.
hPrintTemplate
Если флаг PD_ENABLEPRINTTEMPLATEHANDLE установлен в странах-членах флагов , hPrintTemplate является дескриптор объекта памяти, содержащий шаблон поля диалогового окна. Этот шаблон заменяет шаблон поля диалогового окна Печать по умолчанию.
hSetupTemplate
Если флаг PD_ENABLESETUPTEMPLATEHANDLE установлен в странах-членах флагов , hSetupTemplate является дескриптор объекта памяти, содержащий шаблон поля диалогового окна. Этот шаблон заменяет шаблон поля диалогового окна Настройка печати по умолчанию.

Примечания

При вызове функции PrintDlg , убедитесь, что член wDeviceOffset структуры DEVNAMES, относящейся идентичен член dmDeviceName структуры DEVMODE . Если эти члены не указан тот же принтер, PrintDlg инициализирует диалоговое окно с помощью принтера, указанный член wDeviceOffset.

Как правило если hDevMode и hDevNames равны NULL, PrintDlg инициализирует диалоговое окно с помощью текущего принтера по умолчанию. Однако если установлен флаг PD_RETURNDEFAULT, и hDevMode и hDevNames равны NULL, PrintDlg использует членов hDevNames и hDevMode для возвращения сведений о текущем принтер по умолчанию без отображения диалогового окна.

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winspool.h.
Юникод:Определяется как структуры Unicode и ANSI.

Родственные слова

Общие диалогового окна Обзор библиотеки, Общие диалоговое окно окно структуры, CreateDC CreateIC, PrintDlg, DEVMODE, DEVNAMES, относящейся, WM_INITDIALOG

Index