PAGESETUPDLG

【勇芳软件工作室】汉化HomePreviousNext

PAGESETUPDLG结构包含PageSetupDlg函数用于初始化“页面设置”公共对话框的信息。在用户关闭对话框后,系统将在此结构中返回有关用户定义的页面参数的信息。

typedef struct tagPSD { A set of bit flags that you can use to initialize the Page Setup common dialog box.

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;

会员

lStructSize

指定此结构的大小(以字节为单位)。

hwndOwner

标识拥有该对话框的窗口。该成员可以是任何有效的窗口句柄,如果对话框没有所有者,它可以为NULL。

hDevMode

处理包含DEVMODE结构的全局内存对象。在输入时,如果给出句柄,则使用相应DEVMODE结构中的值初始化对话框中的控件。在输出时,对话框将hDevMode设置为DEVMODE结构的全局内存句柄,其中包含指定用户选择的值。如果用户的选择不可用,则对话框将hDevMode设置为NULL。

hDevNames

处理包含DEVNAMES结构的全局内存对象。此结构包含三个指定驱动程序名称,打印机名称和输出端口名称的字符串。在输入时,如果给出句柄,则相应的DEVNAMES结构中的字符串用于初始化对话框中的控件。在输出时,对话框将hDevNames设置为包含指定用户选择的字符串的DEVNAMES结构的全局内存句柄。如果用户的选择不可用,则对话框将hDevNames设置为NULL。

一组位标志,可用于初始化“页面设置”公共对话框。当对话框返回时,它设置这些标志以指示用户的输入。该成员可以是以下标志的组合:

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 
 表示的hInstancelpPageSetupTemplateName成员指定要用于替换默认模板的对话框模板。
PSD_ENABLEPAGESETUPTEMPLATEHANDLE 
 表示hPageSetupTemplate成员标识包含预加载对话框模板的数据块。如果指定了该标志,系统将忽略lpPageSetupTemplateName成员。
PSD_INHUNDREDTHSOFMILLIMETERS 
 表示百分之一毫米是边距和纸张尺寸的测量单位。rtMarginrtMinMarginptPaperSize成员中的值以百分之一毫米为单位。您可以在输入上设置此标志来覆盖用户区域设置的默认测量单位。当函数返回时,对话框设置此标志以指示所使用的单位。
PSD_INTHOUSANDTHSOFINCHES 
 表示千分之一英寸是边距和纸张尺寸的测量单位。rtMarginrtMinMarginptPaperSize成员中的值为千分之几英寸。您可以在输入上设置此标志来覆盖用户区域设置的默认测量单位。当函数返回时,对话框设置此标志以指示所使用的单位。
PSD_INWININIINTLMEASURE 
 未实现。
PSD_MARGINS 
 使系统使用rtMargin成员中指定的值作为左,上,右和下边距的初始宽度。如果未设置PSD_MARGINS,则系统将所有边距的初始宽度设置为一英寸。
PSD_MINMARGINS 
 使系统使用rtMinMargin成员中指定的值作为左,上,右和底部页边距的最小允许宽度。该系统防止用户输入小于指定最小值的宽度。如果未指定PSD_MINMARGINS,则系统将允许的最小允许宽度设置为打印机允许的宽度。
PSD_NOWARNING 
 当没有默认打印机时,防止系统显示警告消息。
PSD_RETURNDEFAULT 
 PageSetupDlg不显示对话框。而是将hDevNameshDevMode成员设置为系统默认打印机初始化的DEVMODEDEVNAMES结构。PageSetupDlg如果hDevNameshDevMode不为空,则返回错误。
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_ *消息。通过处理消息,挂钩过程可以自定义样本页面的外观。除非在成员中设置了PSD_ENABLEPAGEPAINTHOOK标志,否则此成员将被忽略。

lpPageSetupTemplateName

指向由的hInstance成员标识的模块中的对话框模板资源的以null结尾的字符串的指针。此模板代替标准对话框模板。对于编号的对话框资源,lpPageSetupTemplateName可以是MAKEINTRESOURCE宏返回的值。除非在成员中设置了PSD_ENABLEPAGESETUPTEMPLATE标志,否则该成员将被忽略。

hPageSetupTemplate

如果在成员中设置了PSD_ENABLEPAGESETUPTEMPLATEHANDLE标志,则hPageSetupTemplate是包含对话框模板的内存对象的句柄。

备注

如果未指定PSD_INHUNDREDTHSOFMILLIMETERS和PSD_INTHOUSANDTHSOFINCHES标志,则系统将查询默认用户区域设置的LOCALE_IMEASURE值,以确定边距宽度和纸张尺寸的度量单位(百分之几或毫米)。

如果hDevNameshDevMode都有有效的句柄,DEVNAMES结构的wDeviceOffset成员指定的打印机名称与DEVMODE结构的dmDeviceName??成员所指定的名称不同,系统默认使用wDeviceOffset指定的名称。

也可以看看

DEVMODE, DEVNAMES, MAKEINTRESOURCE, PagePaintHook, PageSetupDlg, PageSetupHook, WM_INITDIALOG