Структура PAGESETUPDLGA (commdlg.h)
Содержит сведения, которые функция PageSetupDlg использует для инициализации диалогового окна Параметры страницы . После того как пользователь закроет диалоговое окно, система возвращает сведения о пользовательских параметрах страницы в этой структуре.
Синтаксис
typedef struct tagPSDA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;
Члены
lStructSize
Тип: DWORD
Размер данной структуры (в байтах).
hwndOwner
Тип: HWND
Дескриптор окна, которому принадлежит диалоговое окно. Это может быть любой допустимый дескриптор окна или значение NULL , если у диалогового окна нет владельца.
hDevMode
Тип: HGLOBAL
Дескриптор объекта глобальной памяти, который содержит структуру DEVMODE . При входных данных, если указан дескриптор, значения в соответствующей структуре DEVMODE используются для инициализации элементов управления в диалоговом окне. В выходных данных диалоговое окно устанавливает для hDevMode глобальный дескриптор памяти в структуру DEVMODE , содержащую значения, указывающие выбор пользователя. Если выбранные пользователем параметры недоступны, в диалоговом окне для параметра hDevMode устанавливается значение NULL.
hDevNames
Тип: HGLOBAL
Дескриптор объекта глобальной памяти, который содержит структуру DEVNAMES . Эта структура содержит три строки, указывающие имя драйвера, имя принтера и имя порта вывода. При входных данных, если указан дескриптор, строки в соответствующей структуре DEVNAMES используются для инициализации элементов управления в диалоговом окне. В выходных данных диалоговое окно устанавливает hDevNames в глобальный дескриптор памяти в структуру DEVNAMES , содержащую строки, указывающие выбор пользователя. Если выбранные пользователем параметры недоступны, в диалоговом окне для параметра hDevNames устанавливается значение NULL.
Flags
Тип: DWORD
Набор битовых флагов, которые можно использовать для инициализации диалогового окна Параметры страницы . Когда диалоговое окно возвращается, оно устанавливает эти флаги для указания входных данных пользователя. Этот элемент может иметь одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Задает минимальные значения, которые пользователь может указать, чтобы поля страницы были минимальными полями, разрешенными принтером. Это значение по умолчанию. Этот флаг игнорируется, если также указаны флаги PSD_MARGINS и PSD_MINMARGINS . |
|
Отключает элементы управления полями, не позволяя пользователю задавать поля. |
|
Отключает элементы управления ориентацией, не позволяя пользователю задавать ориентацию страницы. |
|
Запрещает в диалоговом окне рисовать содержимое примера страницы. Если вы включите процедуру перехватчика PagePaintHook , вы по-прежнему сможете рисовать содержимое примера страницы. |
|
Отключает элементы управления бумагой, запрещая пользователю задавать параметры страницы, такие как размер бумаги и источник. |
|
Является устаревшей.
Windows XP/2000: Отключает кнопку Принтер , не позволяя пользователю вызывать диалоговое окно, содержащее дополнительные сведения о настройке принтера. |
|
Включает процедуру перехватчика, указанную в элементе lpfnPagePaintHook . |
|
Включает процедуру перехватчика, указанную в элементе lpfnPageSetupHook . |
|
Указывает, что элементы hInstance и lpPageSetupTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию. |
|
Указывает, что элемент hPageSetupTemplate идентифицирует блок данных, содержащий предварительно загруженный шаблон диалогового окна. Если этот флаг указан, система игнорирует элемент lpPageSetupTemplateName . |
|
Указывает, что сотые части миллиметров являются единицей измерения полей и размера бумаги. Значения в элементах rtMargin, rtMinMargin и ptPaperSize находятся в сотых миллиметрах. Этот флаг можно задать для входных данных, чтобы переопределить единицу измерения по умолчанию для языкового стандарта пользователя. При возврате функции диалоговое окно устанавливает этот флаг для указания используемых единиц. |
|
Указывает, что тысячные дюймы являются единицей измерения полей и размера бумаги. Значения в элементах rtMargin, rtMinMargin и ptPaperSize находятся в тысячных дюймах. Этот флаг можно задать для входных данных, чтобы переопределить единицу измерения по умолчанию для языкового стандарта пользователя. При возврате функции диалоговое окно устанавливает этот флаг для указания используемых единиц. |
|
Зарезервировано. |
|
Заставляет систему использовать значения, указанные в элементе rtMargin , в качестве начальной ширины для левого, верхнего, правого и нижнего полей. Если PSD_MARGINS не задан, система устанавливает начальную ширину в один дюйм для всех полей. |
|
Заставляет систему использовать значения, указанные в элементе rtMinMargin , в качестве минимально допустимой ширины для левого, верхнего, правого и нижнего полей. Система запрещает пользователю вводить ширину, которая меньше указанного минимума. Если PSD_MINMARGINS не указан, система устанавливает минимально допустимую ширину, допустимую принтером. |
|
Скрывает и отключает кнопку Сеть . |
|
Запрещает системе отображать предупреждающее сообщение, если принтер по умолчанию отсутствует. |
|
PageSetupDlg не отображает диалоговое окно. Вместо этого он задает элементы hDevNames и hDevMode для обработки структур DEVMODE и DEVNAMES , которые инициализированы для принтера по умолчанию системы. PageSetupDlg возвращает ошибку, если hDevNames или hDevMode не имеет значения NULL. |
|
Вызывает отображение кнопки Справка в диалоговом окне. Участник hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые отправляет диалоговое окно, когда пользователь нажимает кнопку Справка . |
ptPaperSize
Тип: POINT
Размеры бумаги, выбранной пользователем. Флаг PSD_INTHOUSANDTHSOFINCHES или PSD_INHUNDREDTHSOFMILLIMETERS указывает единицы измерения.
rtMinMargin
Тип: RECT
Минимальная допустимая ширина левого, верхнего, правого и нижнего полей. Система игнорирует этот элемент, если флаг PSD_MINMARGINS не установлен. Эти значения должны быть меньше или равны значениям, указанным в элементе rtMargin . Флаг PSD_INTHOUSANDTHSOFINCHES или PSD_INHUNDREDTHSOFMILLIMETERS указывает единицы измерения.
rtMargin
Тип: RECT
Ширина левого, верхнего, правого и нижнего полей. Если задать флаг PSD_MARGINS , rtMargin задает начальные значения полей. Когда PageSetupDlg возвращает значение , rtMargin содержит ширину полей, выбранную пользователем. Флаг PSD_INHUNDREDTHSOFMILLIMETERS или PSD_INTHOUSANDTHSOFINCHES указывает единицы измерения.
hInstance
Тип: HINSTANCE
Если флаг PSD_ENABLEPAGESETUPTEMPLATE задан в элементе Flags , hInstance — это дескриптор для экземпляра приложения или модуля, который содержит шаблон диалогового окна с именем элемента lpPageSetupTemplateName .
lCustData
Тип: LPARAM
Определяемые приложением данные, которые система передает в процедуру перехватчика, определяемую членом lpfnPageSetupHook . Когда система отправляет WM_INITDIALOG сообщение в процедуру перехватчика, параметр lParam сообщения является указателем на структуру PAGESETUPDLG , указанную при создании диалогового окна. Процедура перехватчика может использовать этот указатель для получения значения lCustData .
lpfnPageSetupHook
Тип: LPPAGESETUPHOOK
Указатель на процедуру перехватчика PageSetupHook , которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот элемент игнорируется, если в элементе Flags не установлен флаг PSD_ENABLEPAGESETUPHOOK.
lpfnPagePaintHook
Тип: LPPAGEPAINTHOOK
Указатель на процедуру перехватчика PagePaintHook , которая получает сообщения WM_PSD_* из диалогового окна при перерисовке образца страницы. Обрабатывая сообщения, процедура перехватчика может настроить внешний вид страницы образца. Этот элемент игнорируется, если флаг PSD_ENABLEPAGEPAINTHOOK не установлен в элементе Flags .
lpPageSetupTemplateName
Тип: LPCTSTR
Имя ресурса шаблона диалогового окна в модуле, определяемого элементом hInstance . Этот шаблон заменяется стандартным шаблоном диалогового окна. Для нумерованных ресурсов диалогового окна lpPageSetupTemplateName может быть значением, возвращаемым макросом MAKEINTRESOURCE . Этот элемент игнорируется, если в элементе Flags не установлен флаг PSD_ENABLEPAGESETUPTEMPLATE.
hPageSetupTemplate
Тип: HGLOBAL
Если флаг PSD_ENABLEPAGESETUPTEMPLATEHANDLE задан в элементе Flags , hPageSetupTemplate — это дескриптор для объекта памяти, содержащего шаблон диалогового окна.
Комментарии
Если флаги PSD_INHUNDREDTHSOFMILLIMETERS и PSD_INTHOUSANDTHSOFINCHES не указаны, система запрашивает LOCALE_IMEASURE значение языкового стандарта пользователя по умолчанию, чтобы определить единицу измерения (сотые или тысячные части миллиметров) ширины полей и размера бумаги.
Если и hDevNames , и hDevMode имеют допустимые дескрипторы, а имя принтера, указанное элементом wDeviceOffset структуры DEVNAMES , отличается от имени, заданного членом dmDeviceName структуры DEVMODE , система использует имя, указанное wDeviceOffset по умолчанию.
Примечание
Заголовок commdlg.h определяет PAGESETUPDLG в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | commdlg.h (включая Windows.h) |
См. также раздел
Общая библиотека диалоговых окон
Основные понятия
Другие ресурсы
Справочные материалы