|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
PAGESETUPDLG
The PAGESETUPDLG structure contains information the PageSetupDlg function uses to initialize the Page Setup common dialog box. After the user closes the dialog box, the system returns information about the user-defined page parameters in this structure.
typedef struct tagPSD { // psd DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; DWORD Flags; POINT ptPaperSize; RECT rtMinMargin; RECT rtMargin; HINSTANCE hInstance; LPARAM lCustData; LPPAGESETUPHOOK lpfnPageSetupHook; LPPAGEPAINTHOOK lpfnPagePaintHook; LPCTSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate; } PAGESETUPDLG, * LPPAGESETUPDLG;
Members
lStructSize
Specifies the size, in bytes, of this structure.
hwndOwner
Identifies the window that owns the dialog box. This member can be any valid window handle, or it can be NULL if the dialog box has no owner.
hDevMode
Handle to a global memory object that contains a DEVMODE structure. On input, if a handle is given, the values in the corresponding DEVMODE structure are used to initialize the controls in the dialog box. On output, the dialog box sets hDevMode to a global memory handle for a DEVMODE structure that contains values specifying the user's selections. If the user's selections are not available, the dialog box sets hDevMode to NULL.
hDevNames
Handle to a global memory object that contains a DEVNAMES structure. This structure contains three strings that specify the driver name, the printer name, and the output port name. On input, if a handle is given, the strings in the corresponding DEVNAMES structure are used to initialize controls in the dialog box. On output, the dialog box sets hDevNames to a global memory handle for a DEVNAMES structure that contains strings specifying the user's selections. If the user's selections are not available, the dialog box sets hDevNames to NULL.
Flags
A set of bit flags that you can use to initialize the Page Setup common dialog box. When the dialog box returns, it sets these flags to indicate the user's input. This member can be a combination of the following flags:
PSD_DEFAULTMINMARGINS Sets the minimum values that the user can specify for the page margins to be the minimum margins allowed by the printer. This is the default. This flag is ignored if the PSD_MARGINS and PSD_MINMARGINS flags are also specified. PSD_DISABLEMARGINS Disables the margin controls, preventing the user from setting the margins. PSD_DISABLEORIENTATION Disables the orientation controls, preventing the user from setting the page orientation. PSD_DISABLEPAGEPAINTING Prevents the dialog box from drawing the contents of the sample page. If you enable a PagePaintHook hook procedure, you can still draw the contents of the sample page. PSD_DISABLEPAPER Disables the paper controls, preventing the user from setting page parameters such as the paper size and source. PSD_DISABLEPRINTER Disables the Printer button, preventing the user from invoking a dialog box that contains additional printer setup information. PSD_ENABLEPAGEPAINTHOOK Enables the hook procedure specified in the lpfnPagePaintHook member. PSD_ENABLEPAGESETUPHOOK Enables the hook procedure specified in the lpfnPageSetupHook member. PSD_ENABLEPAGESETUPTEMPLATE Indicates that the hInstance and lpPageSetupTemplateName members specify a dialog box template to use in place of the default template. PSD_ENABLEPAGESETUPTEMPLATEHANDLE Indicates that the hPageSetupTemplate member identifies a data block that contains a preloaded dialog box template. The system ignores the lpPageSetupTemplateName member if this flag is specified. PSD_INHUNDREDTHSOFMILLIMETERS Indicates that hundredths of millimeters are the unit of measurement for margins and paper size. The values in the rtMargin, rtMinMargin, and ptPaperSize members are in hundredths of millimeters. You can set this flag on input to override the default unit of measurement for the user's locale. When the function returns, the dialog box sets this flag to indicate the units used. PSD_INTHOUSANDTHSOFINCHES Indicates that thousandths of inches are the unit of measurement for margins and paper size. The values in the rtMargin, rtMinMargin, and ptPaperSize members are in thousandths of inches. You can set this flag on input to override the default unit of measurement for the user's locale. When the function returns, the dialog box sets this flag to indicate the units used. PSD_INWININIINTLMEASURE Not implemented. PSD_MARGINS Causes the system to use the values specified in the rtMargin member as the initial widths for the left, top, right, and bottom margins. If PSD_MARGINS is not set, the system sets the initial widths to one inch for all margins. PSD_MINMARGINS Causes the system to use the values specified in the rtMinMargin member as the minimum allowable widths for the left, top, right, and bottom margins. The system prevents the user from entering a width that is less than the specified minimum. If PSD_MINMARGINS is not specified, the system sets the minimum allowable widths to those allowed by the printer. PSD_NOWARNING Prevents the system from displaying a warning message when there is no default printer. PSD_RETURNDEFAULT PageSetupDlg does not display the dialog box. Instead, it sets the hDevNames and hDevMode members to handles to DEVMODE and DEVNAMES structures that are initialized for the system default printer. PageSetupDlg returns an error if either hDevNames or hDevMode is not NULL. PSD_SHOWHELP Causes the dialog box to display the Help button. The hwndOwner member must specify the window to receive the HELPMSGSTRING registered messages that the dialog box sends when the user clicks the Help button.
ptPaperSize
Specifies the dimensions of the paper selected by the user. The PSD_INTHOUSANDTHSOFINCHES or PSD_INHUNDREDTHSOFMILLIMETERS flag indicates the units of measurement.
rtMinMargin
Specifies the minimum allowable widths for the left, top, right, and bottom margins. The system ignores this member if the PSD_MINMARGINS flag is not set. These values must be less than or equal to the values specified in the rtMargin member. The PSD_INTHOUSANDTHSOFINCHES or PSD_INHUNDREDTHSOFMILLIMETERS flag indicates the units of measurement.
rtMargin
Specifies the widths of the left, top, right, and bottom margins. If you set the PSD_MARGINS flag, rtMargin specifies the initial margin values. When PageSetupDlg returns, rtMargin contains the margin widths selected by the user. The PSD_INHUNDREDTHSOFMILLIMETERS or PSD_INTHOUSANDTHSOFINCHES flag indicates the units of measurement.
hInstance
If the PSD_ENABLEPAGESETUPTEMPLATE flag is set in the Flags member, hInstance is the handle of the application or module instance that contains the dialog box template named by the lpPageSetupTemplateName member.
lCustData
Specifies application-defined data that the system passes to the hook procedure identified by the lpfnPageSetupHook member. When the system sends the WM_INITDIALOG message to the hook procedure, the message's lParam parameter is a pointer to the PAGESETUPDLG structure specified when the dialog was created. The hook procedure can use this pointer to get the lCustData value.
lpfnPageSetupHook
Pointer to a PageSetupHook hook procedure that can process messages intended for the dialog box. This member is ignored unless the PSD_ENABLEPAGESETUPHOOK flag is set in the Flags member.
lpfnPagePaintHook
Pointer to a PagePaintHook hook procedure that receives WM_PSD_* messages from the dialog box whenever the sample page is redrawn. By processing the messages, the hook procedure can customize the appearance of the sample page. This member is ignored unless the PSD_ENABLEPAGEPAINTHOOK flag is set in the Flags member.
lpPageSetupTemplateName
Pointer to a null-terminated string that names the dialog box template resource in the module identified by the hInstance member. This template is substituted for the standard dialog box template. For numbered dialog box resources, lpPageSetupTemplateName can be a value returned by the MAKEINTRESOURCE macro. This member is ignored unless the PSD_ENABLEPAGESETUPTEMPLATE flag is set in the Flags member.
hPageSetupTemplate
If the PSD_ENABLEPAGESETUPTEMPLATEHANDLE flag is set in the Flags member, hPageSetupTemplate is the handle of a memory object containing a dialog box template.
Remarks
If the PSD_INHUNDREDTHSOFMILLIMETERS and PSD_INTHOUSANDTHSOFINCHES flags are not specified, the system queries the LOCALE_IMEASURE value of the default user locale to determine the unit of measure (either hundredths of millimeters or thousandths of inches) for the margin widths and paper size. If both hDevNames and hDevMode have valid handles and the printer name specified by the wDeviceOffset member of the DEVNAMES structure is not the same as the name specified by the dmDeviceName member of the DEVMODE structure, the system uses the name specified by wDeviceOffset by default.
See Also
DEVMODE, DEVNAMES, MAKEINTRESOURCE, PagePaintHook, PageSetupDlg, PageSetupHook, WM_INITDIALOG
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
PAGESETUPDLG
Структура PAGESETUPDLG содержит информацию, которую функция PageSetupDlg использует, чтобы инициализировать Страничного общего диалогового блока Установки. После того, как пользователь закроет диалогового блока, система возвращает информацию о страничных параметрах определенного пользователя в этой структуре.
typedef struct tagPSD { // psd DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; DWORD СИГНАЛИЗИРУЕТ; УКАЖИТЕ ptPaperSize; RECT rtMinMargin; RECT rtMargin; hInstance HINSTANCE; LPARAM lCustData; LPPAGESETUPHOOK lpfnPageSetupHook; LPPAGEPAINTHOOK lpfnPagePaintHook; LPCTSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate; } PAGESETUPDLG, * LPPAGESETUPDLG;
Участники
lStructSize
Определяет размер, в байтах, этой структуры.
hwndOwner
Идентифицирует окно, которое обладает диалоговым блоком. Этот элемент может быть любой правильной ручкой окна, или это может быть НЕДЕЙСТВИТЕЛЬНО если диалоговый блок не имеет владельца.
hDevMode
Прооперируйте глобальный объект памяти, который содержит структуру DEVMODE. На вводе, если ручка дана, величины в соответствующей структуре DEVMODE использованы, чтобы инициализировать элементы управления в диалоговом блоке. На выходе, диалоговый блок устанавливает hDevMode в глобальную ручку памяти для структуры DEVMODE, которая содержит величины, определяющие выборы пользователя. Если выборы пользователя не доступны, диалоговый блок устанавливает hDevMode на НЕДЕЙСТВИТЕЛЬНЫЙ.
hDevNames
Прооперируйте глобальный объект памяти, который содержит структуру DEVNAMES. Эта структура содержит три строки, которые определяют драйверное имя, имя принтера, и выходное имя порта. На вводе, если ручка дана, строки в соответствующей структуре DEVNAMES использованы, чтобы инициализировать элементы управления в диалоговом блоке. На выходе, диалоговый блок устанавливает hDevNames в глобальную ручку памяти для структуры DEVNAMES, которая содержит строки, определяющие выборы пользователя. Если выборы пользователя не доступны, диалоговый блок устанавливает hDevNames на НЕДЕЙСТВИТЕЛЬНЫЙ.
Флаги
Установка бита сигнализирует, который Вы можете использовать, чтобы инициализировать Страничного общего диалогового блока Установки. Когда диалоговый блок возвращается, он устанавливает эти флаги, чтобы указывать ввод пользователя. Этот элемент может быть комбинацией следующего флагов:
PSD_DEFAULTMINMARGINS Устанавливает минимальные величины, которые пользователь может определиться для страничных полей, чтобы быть минимальными полями допущенными принтером. Это по умолчанию. Этот флаг проигнорирован если PSD_MARGINS и флаги PSD_MINMARGINS также определены. PSD_DISABLEMARGINS Выводит из строя элементы управления поля, предотвращения пользователя из установки полей. PSD_DISABLEORIENTATION Выводит из строя элементы управления ориентации, предотвращения пользователя из установки страничной ориентации. PSD_DISABLEPAGEPAINTING Мешает диалогового блока чтобы рисовать содержание страницы образца. Если Вы приспосабливаете процедуру захвата PagePaintHook, Вы можете все еще сделать содержанием страницы образца. PSD_DISABLEPAPER Выводит из строя бумажные элементы управления, предотвращение пользователя из установки страничных параметров как например, бумажный размер и источник. PSD_DISABLEPRINTER Выводит из строя кнопку Принтера, предохраняя пользователя от введения диалогового блока, которое содержит информацию установки дополнительного принтера. PSD_ENABLEPAGEPAINTHOOK Приспосабливается рычажную процедуру определенную в элементе lpfnPagePaintHook. PSD_ENABLEPAGESETUPHOOK Приспосабливается рычажную процедуру определенную в элементе lpfnPageSetupHook. PSD_ENABLEPAGESETUPTEMPLATE Указывает, что hInstance и участники lpPageSetupTemplateName определяют диалоговый шаблон блока, чтобы использоваться вместо по умолчанию шаблона. PSD_ENABLEPAGESETUPTEMPLATEHANDLE Указывает, что элемент hPageSetupTemplate идентифицирует блока данных, который содержит натянутый предварительно диалоговый шаблон блока. Система игнорирует элемент lpPageSetupTemplateName если этот флаг определен. PSD_INHUNDREDTHSOFMILLIMETERS Указывает, что сотые миллиметров - устройство измерения для полей и бумажного размера. Величины на rtMargin, rtMinMargin, и участниках ptPaperSize - в сотых миллиметров. Вы можете установить этот флаг на вводе, чтобы аннулировать по умолчанию устройство измерения для места действия пользователя. Когда функция возвращается, диалоговые комплекты блока этот флаг, чтобы указывать использованные устройства. PSD_INTHOUSANDTHSOFINCHES Указывает, что тысячные дюймов - устройство измерения для полей и бумажного размера. Величины на rtMargin, rtMinMargin, и участниках ptPaperSize - на тысячных дюймов. Вы можете установить этот флаг на вводе, чтобы аннулировать по умолчанию устройство измерения для места действия пользователя. Когда функция возвращается, диалоговые комплекты блока этот флаг, чтобы указывать использованные устройства. PSD_INWININIINTLMEASURE Не осуществлен. PSD_MARGINS Заставляет систему, чтобы использовать величины определенные в элементе rtMargin как начальная ширина для левого, верхнего, права, и нижних полей. Если PSD_MARGINS не установлен, система устанавливает начальную ширину на один дюйм для всех полей. PSD_MINMARGINS Заставляет систему, чтобы использовать величины определенные в элементе rtMinMargin как минимальная допустимая ширина для левого, верхнего, права, и нижних полей. Система мешает пользователя чтобы вводить ширину, которая - менее чем определенный минимум. Если PSD_MINMARGINS не определен, система устанавливает минимальную допустимую ширину на те допущенное принтером. PSD_NOWARNING Мешает систему чтобы отображать предупреждение сообщения когда нет по умолчанию принтера. PSD_RETURNDEFAULT PageSetupDlg НЕ отображает диалогового блока. Взамен, это устанавливает hDevNames и участников hDevMode ручек в DEVMODE и структуры DEVNAMES, которые инициализированы для системного по умолчанию принтера. PageSetupDlg ВОЗВРАЩАЕТ ошибку если или hDevNames или hDevMode не НЕДЕЙСТВИТЕЛЕН. PSD_SHOWHELP Заставляет диалогового блока, чтобы отображать кнопку Подсказки. Элемент hwndOwner должен определить окно, чтобы получать HELPMSGSTRING зарегистрировавшее сообщения, что диалоговый блок посылает когда пользователь щелкает кнопку Подсказки.
ptPaperSize
Определяет измерения бумаги выбранной пользователем. PSD_INTHOUSANDTHSOFINCHES Или флаг PSD_INHUNDREDTHSOFMILLIMETERS указывает устройства измерения.
rtMinMargin
Определяет минимальной допустимой ширине для левого, верхнего, права, и нижних полей. Система игнорирует этот элемент если флаг PSD_MINMARGINS не установлен. Эти величины должны быть менее чем или равные величинам определенным в элементе rtMargin. PSD_INTHOUSANDTHSOFINCHES Или флаг PSD_INHUNDREDTHSOFMILLIMETERS указывает устройства измерения.
rtMargin
Определяет ширину левого, верхнего, права, и нижние поля. Если Вы установили бы флаг PSD_MARGINS, rtMargin определяет начальные величины поля. Когда возврат PageSetupDlg, rtMargin содержит ширину поля выбранную пользователем. PSD_INHUNDREDTHSOFMILLIMETERS Или флаг PSD_INTHOUSANDTHSOFINCHES указывает устройства измерения.
hInstance
Если флаг PSD_ENABLEPAGESETUPTEMPLATE установлен в элементе Флагов, hInstance - ручка прикладного или модульного примера, который содержит диалоговый шаблон блока названный элементом lpPageSetupTemplateName.
lCustData
Определяет определенные прикладные данные, что система проходит в рычажную процедуру идентифицированную элементом lpfnPageSetupHook. Когда система посылает сообщение WM_INITDIALOG в рычажную процедуру, параметр сообщения lParam является указателем в структуру PAGESETUPDLG определенную когда диалог был создан. Рычажная процедура может использовать этот указатель, чтобы получать величину lCustData.
lpfnPageSetupHook
Указатель в процедуру захвата PageSetupHook, которая может обработать сообщения предназначенные для диалогового блока. Этот элемент проигнорирован если флаг PSD_ENABLEPAGESETUPHOOK не установлен в элементе Флагов.
lpfnPagePaintHook
Указатель в процедуру захвата PagePaintHook, которая получает WM_PSD_* сообщения из диалогового блока всякий раз, когда страница образца - redrawn. Обрабатывая сообщения, рычажная процедура может модифицировать по заказу пользователя появление страницы образца. Этот элемент проигнорирован если флаг PSD_ENABLEPAGEPAINTHOOK не установлен в элементе Флагов.
lpPageSetupTemplateName
Указатель в недействительный расторгнутую строку, которая называет ресурс шаблона диалогового блока в модуле идентифицированном элементом hInstance. Этот шаблон заменен стандартным диалоговым шаблоном блока. Для нумерованных диалоговых ресурсов блока, lpPageSetupTemplateName может быть величиной возвращанной макро MAKEINTRESOURCE. Этот элемент проигнорирован если флаг PSD_ENABLEPAGESETUPTEMPLATE не установлен в элементе Флагов.
hPageSetupTemplate
Если флаг PSD_ENABLEPAGESETUPTEMPLATEHANDLE установлен в элементе Флагов, hPageSetupTemplate - ручка объекта памяти, содержащей диалоговый шаблон блока.
Замечания
Если PSD_INHUNDREDTHSOFMILLIMETERS и флаги PSD_INTHOUSANDTHSOFINCHES не определены, системные запросы величина LOCALE_IMEASURE по умолчанию места действия пользователя, чтобы определять устройство меры (или сотые миллиметров или тысячных дюймов) для ширины поля и бумажного размера. Если как hDevNames так и hDevMode имеет правильные ручки и имя принтера определенные элементом wDeviceOffset структуры DEVNAMES не такое же как и имя определялось элементом dmDeviceName структуры DEVMODE, система использует имя определенное wDeviceOffset по умолчанию.
Смотри Также
DEVMODE, DEVNAMES, MAKEINTRESOURCE, PagePaintHook, PageSetupDlg, PageSetupHook, WM_INITDIALOG
|
|
|
|
| |