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;
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_NONETWORKBUTTON | |
Hides and disables the Network button. | |
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. |
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.
DEVMODE, DEVNAMES, MAKEINTRESOURCE, PagePaintHook, PageSetupDlg, PageSetupHook, WM_INITDIALOG
See: