自定义样本页

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

“页面设置”对话框包含示例页面的图像,其中显示用户选择如何影响打印输出的外观。图像由表示所选纸张或信封类型的矩形组成,虚线矩形表示当前边距,部分(希腊文字)字符显示打印页面上的文字外观。

当您调用PageSetupDlg功能时,您可以提供PagePaintHook挂钩过程来自定义示例页面的外观。

To enable a PagePaintHook hook procedure

1.在PAGESETUPDLG结构的成员中设置PSD_ENABLEPAGEPAINTHOOK标志。

2.在lpfnPagePaintHook成员中指定挂钩过程的地址。

每当对话框即将绘制示例页面的内容时,挂接过程按照列出的顺序接收以下消息。

信息含义
WM_PSD_PAGESETUPDLG该对话框即将绘制示例页面。挂钩过程可以使用此消息准备绘制示例页面的内容。
WM_PSD_FULLPAGERECT该对话框即将绘制示例页面。此消息指定样本页面的边界矩形。
WM_PSD_MINMARGINRECT该对话框即将绘制示例页面。此消息指定边距矩形。
WM_PSD_MARGINRECT该对话框即将绘制边距矩形。
WM_PSD_GREEKTEXTRECT该对话框即将在边框矩形内绘制希腊语文本。
WM_PSD_ENVSTAMPRECT对话框即将绘制信封样本页的信封字母矩形。此消息仅发送给信封。
WM_PSD_YAFULLPAGERECT对话框即将绘制信封样本页的返回地址部分。此信息是为信封和其他纸张尺寸发送的。

如果挂钩过程对于绘图序列(WM_PSD_PAGESETUPDLGWM_PSD_FULLPAGERECTWM_PSD_MINMARGINRECT)的前三个消息中的任何一个返回TRUE,对话框不会发送更多消息,并且不会在样本页面中绘制,直到下一次系统需要重绘样本页面。如果挂钩过程对所有三个消息返回FALSE,则对话框将发送绘图序列的其余消息。

如果挂钩过程对于绘图序列中的任何剩余消息返回TRUE,对话框不绘制示例页面的相应部分。如果挂钩过程返回任何这些消息的FALSE,该对话框将绘制示例页面的该部分。

要防止对话框绘制示例页面的内容,可以设置PSD_DISABLEPAGEPAINTING标志。此标志不影响您的PagePaintHook挂接过程,该过程仍然会收到所有WM_PSD_ *消息,并可以绘制示例页面内容。