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


Структура 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_DEFAULTMINMARGINS
0x00000000
Задает минимальные значения, которые пользователь может указать для полей страницы, которые должны быть минимальными полями, разрешенными принтером. Это значение по умолчанию. Этот флаг игнорируется, если также указаны флаги PSD_MARGINS и PSD_MINMARGINS.
PSD_DISABLEMARGINS
0x00000010
Отключает элементы управления полями, предотвращая настройку полей пользователем.
PSD_DISABLEORIENTATION
0x00000100
Отключает элементы управления ориентацией, предотвращая настройку ориентации страницы пользователем.
PSD_DISABLEPAGEPAINTING
0x00080000
Предотвращает рисование содержимого примера страницы в диалоговом окне. Если включить процедуру перехватчика PagePaintHook, вы по-прежнему можете нарисовать содержимое примера страницы.
PSD_DISABLEPAPER
0x00000200
Отключает элементы управления бумагой, предотвращая настройку параметров страницы пользователя, таких как размер бумаги и источник.
PSD_DISABLEPRINTER
0x00000020
Устаревший.

Windows XP/2000: отключает кнопку принтера , не позволяя пользователю вызывать диалоговое окно, содержащее дополнительные сведения о настройке принтера.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Включает процедуру перехватчика, указанную в элементе lpfnPagePaintHo ok.
PSD_ENABLEPAGESETUPHOOK
0x00002000
Включает процедуру перехватчика, указанную в элементе lpfnPageSetupHook.
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Указывает, что элементы hInstance и lpPageSetupTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Указывает, что элемент hPageSetupTemplate определяет блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpPageSetupTemplateName, если этот флаг указан.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Указывает, что сотые миллиметры — это единица измерения для полей и размера бумаги. Значения в rtMargin, rtMinMargin, а члены ptPaperSize находятся в сотнях миллиметров. Этот флаг можно задать для входных данных, чтобы переопределить единицу измерения по умолчанию для языкового стандарта пользователя. Когда функция возвращается, диалоговое окно задает этот флаг, чтобы указать используемые единицы.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Указывает, что тысячные дюймы являются единицей измерения для полей и размера бумаги. Значения в rtMargin, rtMinMargin, а ptPaperSize члены находятся в тысячах дюймов. Этот флаг можно задать для входных данных, чтобы переопределить единицу измерения по умолчанию для языкового стандарта пользователя. Когда функция возвращается, диалоговое окно задает этот флаг, чтобы указать используемые единицы.
PSD_INWININIINTLMEASURE
0x00000000
Скрытный.
PSD_MARGINS
0x00000002
Позволяет системе использовать значения, указанные в rtMargin член в качестве начальной ширины для левого, верхнего, правого и нижнего полей. Если PSD_MARGINS не задано, система устанавливает начальную ширину на один дюйм для всех полей.
PSD_MINMARGINS
0x00000001
Позволяет системе использовать значения, указанные в rtMinMargin член в качестве минимально допустимой ширины для левого, верхнего, правого и нижнего полей. Система запрещает пользователю вводить ширину, которая меньше указанного минимального значения. Если PSD_MINMARGINS не указано, система задает минимальную допустимую ширину для тех, которые разрешены принтером.
PSD_NONETWORKBUTTON
0x00200000
Скрывает и отключает кнопку сети.
PSD_NOWARNING
0x00000080
Запрещает системе отображать предупреждающее сообщение, если принтер по умолчанию отсутствует.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg не отображает диалоговое окно. Вместо этого он задает hDevNames и элементов hDevMode для обработки DEVMODE и структур DEVNAMES, которые инициализированы для системного принтера по умолчанию. PageSetupDlg возвращает ошибку, если hDevNames или hDevMode не NULL.

PSD_SHOWHELP
0x00000800
Вызывает диалоговое окно для отображения кнопки справки. Элемент hwndOwner должен указать окно для получения helpMSGSTRING зарегистрированных сообщений, которые отправляет диалоговое окно, когда пользователь нажимает кнопку "Справка ".

ptPaperSize

Тип: POINT

Размеры бумаги, выбранной пользователем. Флаг PSD_INTHOUSANDTHSOFINCHES или PSD_INHUNDREDTHSOFMILLIMETERS указывает единицы измерения.

rtMinMargin

Тип: RECT

Минимальная допустимая ширина для левого, верхнего, правого и нижнего полей. Система игнорирует этот элемент, если флаг PSD_MINMARGINS не задан. Эти значения должны быть меньше или равно значениям, указанным в элементе rtMargin. Флаг PSD_INTHOUSANDTHSOFINCHES или PSD_INHUNDREDTHSOFMILLIMETERS указывает единицы измерения.

rtMargin

Тип: RECT

Ширина левого, верхнего, правого и нижнего полей. Если задать флаг PSD_MARGINS, rtMargin указывает начальные значения полей. При возвращении PageSetupDlgrtMargin содержит ширину полей, выбранную пользователем. Флаг PSD_INHUNDREDTHSOFMILLIMETERS или PSD_INTHOUSANDTHSOFINCHES указывает единицы измерения.

hInstance

Тип: HINSTANCE

Если флаг PSD_ENABLEPAGESETUPTEMPLATE задан в элементе Flags, hInstance — это дескриптор экземпляра приложения или модуля, который содержит шаблон диалогового окна с именем элемента lpPageSetupTemplateName.

lCustData

Тип: LPARAM

Определяемые приложением данные, которые система передает процедуре перехватчика, определяемой элементом lpfnPageSetupHook. Когда система отправляет сообщение WM_INITDIALOG в процедуру перехватчика, параметр lPa ram сообщения является указателем на структуру PAGESETUPDLG, указанную при создании диалогового окна. Процедура перехватчика может использовать этот указатель для получения значения lCustData.

lpfnPageSetupHook

Тип: LPPAGESETUPHOOK

Указатель на процедуру перехватчика PageSetupHook, которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот элемент игнорируется, если флаг PSD_ENABLEPAGESETUPHOOK не задан в элементе Flags.

lpfnPagePaintHook

Тип: LPPAGEPAINTHOOK

Указатель на процедуру перехватчика PagePaintHook, которая получает сообщения WM_PSD_* из диалогового окна при повторном удалении примера страницы. Обрабатывая сообщения, процедура перехватчика может настроить внешний вид примера страницы. Этот элемент игнорируется, если флаг PSD_ENABLEPAGEPAINTHOOK не задан в элементе Flags.

lpPageSetupTemplateName

Тип: LPCTSTR

Имя ресурса шаблона диалогового окна в модуле, определяемом элементом hInstance. Этот шаблон заменен стандартным шаблоном диалогового окна. Для ресурсов нумерованного диалогового окна lpPageSetupTemplateName может быть значением, возвращаемым макросом MAKEINTRESOURCE. Этот элемент игнорируется, если флаг PSD_ENABLEPAGESETUPTEMPLATE не задан в элементе Flags.

hPageSetupTemplate

Тип: HGLOBAL

Если флаг PSD_ENABLEPAGESETUPTEMPLATEHANDLE задан в элементе флагов , hPageSetupTemplat e — это дескриптор объекта памяти, содержащего шаблон диалогового окна.

Замечания

Если флаги PSD_INHUNDREDTHSOFMILLIMETERS и PSD_INTHOUSANDTHSOFINCHES не указаны, система запрашивает LOCALE_IMEASURE значение языкового стандарта пользователя по умолчанию, чтобы определить единицу измерения (сотнями миллиметров или тысячами дюймов) для ширины поля и размера бумаги.

Если оба hDevNames и hDevMode имеют допустимые дескрипторы, а имя принтера, указанное членом wDeviceOffset структуры DEVNAMES, не совпадает с именем, указанным элементом dmDeviceName структуры DEVMODE, Система использует имя, указанное wDeviceOffset по умолчанию.

Заметка

Заголовок commdlg.h определяет PAGESETUPDLG как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка commdlg.h (включая Windows.h)

См. также

библиотека общих диалоговых окон

концептуальные

DEVMODE

DEVNAMES

MAKEINTRESOURCE

другие ресурсы

PagePaintHook

PageSetupDlg

PageSetupHook

Справочник

WM_INITDIALOG