PRINTDLGEX

[Это предварительный документации и темы для изменения].

PRINTDLGEX структура содержит сведения, которые использует функцию PrintDlgEx для инициализации печати окна свойств. После того, как пользователь закроет окно свойств, система использует эту структуру для возвращения сведений о выбранных пользователем.

typedef struct tagPDEX {}
    DWORD lStructSize;
    HWND hwndOwner;
    HGLOBAL hDevMode;
    HGLOBAL hDevNames;
    HDC hDC;
    DWORD Флаги;
    DWORD Flags2;
    DWORD ExclusionFlags;
    DWORD nPageRanges;
    DWORD nMaxPageRanges;
    LPPRINTPAGERANGE lpPageRanges;
    DWORD nMinPage;
    DWORD nMaxPage;
    DWORD nCopies;
    HINSTANCE hInstance;
    LPCTSTR lpPrintTemplateName;
    LPUNKNOWN lpCallback;
    DWORD nPropertyPages;
    HPROPSHEETPAGE * lphPropertyPages;
    DWORD nStartPage;
    DWORD dwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX 

Члены

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

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

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

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

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

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

hDC
Дескриптор контекста устройства или контекста информацию, в зависимости от того, ли Flags указывает флаг PD_RETURNDC или PC_RETURNIC. Если не указано ни флага, значение этого элемента не определено. Если указаны оба флаги, PD_RETURNDC имеет приоритет.
Флаги
Набор битовых флагов, которые можно использовать для инициализации свойств на печати . Когда функция PrintDlgEx возвращает значение, он устанавливает эти флаги для указания пользовательского ввода. Этот член может быть комбинацией следующих флагов.
PD_ALLPAGES
По умолчанию флаг, который указывает, что все изначально переключателя. Этот флаг используется в качестве заполнителя для обозначения, что флаги PD_PAGENUMS, PD_SELECTION и PD_CURRENTPAGE не указаны.
PD_COLLATE
Если этот флаг установлен, установлен флажок Разобрать по копиям.

Если этот флаг установлен, когда функция PrintDlgEx возвращает, приложение должно эмулировать параметры сортировки нескольких копий. Для получения дополнительной информации смотрите описание флага PD_USEDEVMODECOPIESANDCOLLATE.

PD_CURRENTPAGE
Если этот флаг установлен, Текущая страница переключателя. Если ни один из флагов PD_PAGENUMS, PD_SELECTION или PD_CURRENTPAGE, все переключателя.
PD_DISABLEPRINTTOFILE
Отключает флажок Печать в файл.
PD_ENABLEPRINTTEMPLATE
Указывает, что hInstance и lpPrintTemplateName члены укажите замена для диалогового окна поле шаблона по умолчанию в нижней части общей страницы. По умолчанию шаблон содержит элементы управления, аналогичные тем, которые из диалогового окна Печать . Система использует указанный шаблон для создания окна, которое является потомком на странице Общие.
PD_ENABLEPRINTTEMPLATEHANDLE
Указывает, что член hInstance определяет блок данных, содержащего шаблон box предустановленной диалогового окна. Этот шаблон заменяет шаблон по умолчанию диалогового окна поле в нижней части общей страницы. Система использует указанный шаблон для создания окна, которое является потомком на общей странице. Система игнорирует lpPrintTemplateName члена, если этот флаг задан.
PD_EXCLUSIONFLAGS
Указывает, что член ExclusionFlags идентифицирует элементы будут исключены из страниц свойств драйвера принтера. Если этот флаг не установлен, элементы будут исключены по умолчанию из страниц свойств драйвера принтера. Исключения предотвратить дублирование элементов среди на общей странице, определяемый приложением страниц и страниц драйвера принтера.
PD_HIDEPRINTTOFILE
Скрывает флажок Печать в файл.
PD_NOCURRENTPAGE
Отключает переключатель Текущей страницы.
PD_NOPAGENUMS
Отключает переключатель страниц и связанных с ними элементов управления.
PD_NOSELECTION
Отключает переключатель на Выбор.
PD_NOWARNING
Запрещает отображение при возникновении ошибки предупреждающее сообщение.
PD_PAGENUMS
Если этот флаг установлен, выбран переключатель страницы . Если ни один из флагов PD_PAGENUMS, PD_SELECTION или PD_CURRENTPAGE, все переключателя.

Если этот флаг установлен, когда функция PrintDlgEx возвращает, член lpPageRanges указывает диапазоны страниц, указанный пользователем.

PD_PRINTTOFILE
Если этот флаг установлен, флажок Печать в файл установлен.

Если этот флаг имеет значение при возвращении PrintDlgEx , смещение, обозначенных член wOutputOffset структуры DEVNAMES, относящейся содержит строку "файл:". При вызове StartDoc функция для начала печати операции, укажите это "файл:" строка в элементе lpszOutput DOCINFO структуры. Указание этой строки вызывает подсистему печати для запроса у пользователя имя выходного файла.

PD_RETURNDC
Вызывает PrintDlgEx для возврата контекст устройства, соответствующие параметры в окне свойств пользователя. В hDC возвращается контекст устройства.
PD_RETURNDEFAULT
Если этот флаг указан, функция PrintDlgEx не отображает окно свойств. Вместо этого, он задает членов hDevNames и hDevMode ручки для DEVMODE и DEVNAMES, относящейся структур, которые инициализируются для принтера по умолчанию системы. HDevNames и hDevMode должен иметь значение NULL, или PrintDlgEx возвращает сообщение об ошибке.
PD_RETURNIC
По аналогии с флагом PD_RETURNDC, за исключением этот флаг возвращает информацию контекста, а не контекст устройства. Если не указаны ни PD_RETURNDC, ни PD_RETURNIC, hDC не на выходе.
PD_SELECTION
Если этот флаг установлен, Выбор переключателя.

Если ни один из флагов PD_PAGENUMS, PD_SELECTION или PD_CURRENTPAGE, все переключателя.

PD_USEDEVMODECOPIES
Же самое, что PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Этот флаг указывает, поддерживает ли приложение несколько копий и параметры сортировки. Установите этот флаг на входе указать, что приложение не поддерживает несколько копий и параметры сортировки. В этом случае член nCopies структуры PRINTDLGEX всегда возвращает значение 1, и никогда не PD_COLLATE устанавливается в элементе флаги.

Если этот флаг не установлен, приложение отвечает за печати и обобщения нескольких копий. В этом случае член nCopies структуры PRINTDLGEX указывает количество копий, которое пользователь хочет печатать, и флаг PD_COLLATE в странах-членах флаги указывает ли пользователь хочет параметров сортировки.

Независимо от ли этот флаг установлен приложение может определить от nCopies и PD_COLLATE количество копий для визуализации и следует ли печатать их воедино.

Если установлен этот флаг, и драйвер принтера не поддерживает несколько копий, копий элемент управления отключен. Аналогично если установлен этот флаг, и драйвер принтера не поддерживает параметры сортировки, отключен флажок Разобрать по копиям.

Члены dmCopies и dmCollate структуры DEVMODE содержат копии и сопоставления информации, используемый драйвером принтера. Если установлен этот флаг, и драйвер принтера поддерживает несколько копий, член dmCopies указывает количество копий, запрошенных пользователем. Если установлен этот флаг, и драйвер принтера поддерживает параметры сортировки, член dmCollate структуры DEVMODE указывает ли пользователь хочет параметров сортировки. Если этот флаг не установлен, член dmCopies всегда возвращает значение 1, а dmCollate член всегда равен нулю.


Flags2
Защищены; должно быть равно нулю.
ExclusionFlags
Набор битовых флагов, которые можно исключить объекты из страниц свойств драйвера принтера в окне свойств печати . Это значение используется, только если флаг PD_EXCLUSIONFLAGS установлен в странах-членах флаги . Исключение флаги должны использоваться только если элемент исключается будет включен на общей странице или на странице в окне свойств печати определяется приложением. Этот член может задать следующий флаг.
PD_EXCL_COPIESANDCOLLATE
Исключает копий и Collate элементы управления из страниц свойств драйвера принтера в таблице свойств печати . Этот флаг всегда должен иметь значение, когда приложение использует по умолчанию копий и Collate элементы управления, предоставляемые в нижней части странице Общие окна свойств печати.

nPageRanges
На входе установить значение этого члена в начальное количество диапазонов страниц, указанные в массиве lpPageRanges . Когда функция PrintDlgEx возвращает, nPageRanges указывает количество диапазонов страниц, определяемых пользователем, хранятся в массиве lpPageRanges . Если задан флаг PD_NOPAGENUMS, это значение не является допустимым.
nMaxPageRanges
Размер, в элементах массива, lpPageRanges буфера. Это значение указывает максимальное количество диапазонов страниц, которые могут храниться в массиве. Если задан флаг PD_NOPAGENUMS, это значение не является допустимым. Если флаг PD_NOPAGENUMS не задано, это значение должно быть больше нуля.
lpPageRanges
Указатель на буфер, содержащий массив структур PRINTPAGERANGE . На входе массив содержит диапазоны начальной страницы для отображения в элементе управления редактирования страницы . Когда функция PrintDlgEx возвращает массив содержит диапазоны страниц, указанный пользователем.

Если задан флаг PD_NOPAGENUMS, это значение не является допустимым. Если не указан флаг PD_NOPAGENUMS, lpPageRanges должен быть не NULL.

nMinPage
Определяет минимальное значение для диапазона страниц, указанный в поле редактирования страницы . Если задан флаг PD_NOPAGENUMS, это значение не является допустимым.
nMaxPage
Определяет максимальное значение для диапазона страниц, указанный в поле редактирования страницы . Если задан флаг PD_NOPAGENUMS, это значение не является допустимым.
nCopies
Содержит начальное количество копий для элемента управления редактирования копии , если hDevMode имеет значение NULL; в противном случае член dmCopies структуры DEVMODE содержит начальное значение.

По возвращении из PrintDlgEx nCopies содержит фактическое число копий, которое необходимо распечатать приложение. Это значение зависит от того, отвечает ли приложение или драйвер принтера для печати нескольких копий. Если флаг PD_USEDEVMODECOPIESANDCOLLATE установлен в странах-членах флагов , nCopies всегда 1 на возвращение, и драйвер принтера отвечает за печать нескольких копий. Если флаг не установлен, приложение отвечает за печать количество копий, предусмотренных nCopies. Для получения дополнительной информации смотрите описание флага PD_USEDEVMODECOPIESANDCOLLATE.

hInstance
Если флаг PD_ENABLEPRINTTEMPLATE установлен в странах-членах флаги , hInstance является дескриптор приложения или модуля экземпляр, содержащий диалогового окна поле шаблон с именем lpPrintTemplateName членов. Если флаг PD_ENABLEPRINTTEMPLATEHANDLE установлен в странах-членах флаги , hInstance является дескриптор объекта памяти, содержащий шаблон поля диалогового окна. Если ни один из флагов шаблона в элементе флаги , hInstance должно быть NULL.
lpPrintTemplateName
Указатель на ограниченную значением null строку, которая содержит название ресурса шаблона поля диалогового окна в модуле, выявленные hInstance члена. Этот шаблон заменяет шаблон по умолчанию диалогового окна поле в нижней части общей страницы. По умолчанию шаблон содержит элементы управления, аналогичные тем, которые из диалогового окна Печать . Этот элемент игнорируется, если только флаг PD_ENABLEPRINTTEMPLATE установлен в странах-членах флаги.
lpCallback
Указатель на объект обратного вызова, определяемые приложением.

Объект должен содержать класс IPrintDialogCallback , чтобы получать сообщения для диалогового окна ребенка в нижней части страницы Общие.

Объект обратного вызова должен также содержать класс IObjectWithSite получить указатель на интерфейс IPrintDialogServices . Вызовы функций PrintDlgEx QueryInterface на объект обратного вызова для IID_IPrintDialogCallback и IID_IObjectWithSite , с тем чтобы определить, какие интерфейсы поддерживаются.

Если вы не хотите получить любую из обратного вызова информации, lpCallback значение NULL.

nPropertyPages
Указывает количество дескрипторов свойств страницы в lphPropertyPages массиве.
lphPropertyPages
Содержит массив дескрипторов свойств страницы для добавления в окно свойств печати . Дополнительные страницы свойств следуют Общие страницы. Использование CreatePropertySheetPage функция для создания этих дополнительных страниц. Если nPropertyPages равен нулю, lphPropertyPages должен иметь значение NULL.
nStartPage
Указывает, которая сначала отображается страница свойств. Для отображения на странице Общие укажите START_PAGE_GENERAL. В противном случае укажите начинающийся с нуля индекс страницы свойств в массива, указанного в элементе lphPropertyPages . Для обеспечения согласованности то рекомендуется всегда запустить окно свойств на странице Общие.
dwResultAction
На входе установите этот член равным 0. Если функция PrintDlgEx возвращает значение S_OK, dwResultAction содержит результат диалогового окна. Если PrintDlgEx возвращает сообщение об ошибке, следует игнорировать этот член. DwResultAction член может принимать одно из следующих значений.
Значение Значение
PD_RESULT_APPLY Пользователь нажал кнопку Применить и затем нажали кнопку Отмена . Это означает, что пользователь хочет, чтобы применить изменения, внесенные в окне свойств, но печатать не нужно еще. PRINTDLGEX структура содержит сведения, указанные пользователем в то время, что была нажата кнопка Применить.
PD_RESULT_CANCEL Пользователь нажал кнопку Отмена . Информация, содержащаяся в PRINTDLGEX структуре не меняется.
PD_RESULT_PRINT Пользователь нажал кнопку Печать . PRINTDLGEX структура содержит сведения, указанные пользователем.

Примечания

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

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

Во время выполнения PrintDlgEx DEVMODE и DEVNAMES, относящейся структуры, которые были указаны в PRINTDLGEX структуре могут не всегда содержат текущие данные. По этой причине страницы свойств конкретного приложения, так и IPrintDialogCallback программы для начальной страницы следует использовать интерфейс IPrintDialogServices для получения сведений о состоянии текущего принтера.

QuickInfo

nbsp; Windows &NT: требует версии 5.0 или более поздней.
Windows:Не поддерживается.
Windows CE:Не поддерживается.
Заголовок:Объявленные в commdlg.h.
Импорта библиотеки:Используйте comdlg32.lib.
Юникод:Определяется как структуры Unicode и ANSI.

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

Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx

Index