您可以为“页面设置”对话框提供自定义模板,例如,如果要包含应用程序唯一的其他控件。PageSetupDlg功能使用您的自定义模板代替默认模板。
要为页面设置对话框 {999896002}
1.通过修改PRNSETUP.DLG文件中指定的默认模板来创建自定义模板。默认页面设置对话框模板中使用的控制标识符在DLGS.H文件中定义。
2.使用PAGESETUPDLG结构启用模板,如下所示:
*如果您的自定义模板是应用程序或动态链接库中的资源,请在旗成员中设置PSD_ENABLEPAGESETUPTEMPLATE标志。使用结构的的hInstance和lpPageSetupTemplateName成员来标识模块和资源名称。
-Or-
*如果您的自定义模板已经在内存中,请设置PSD_ENABLEPAGESETUPTEMPLATEHANDLE标志。使用hPageSetupTemplate成员来标识包含该模板的内存对象。
要过滤发送到对话框过程的消息,可以提供PageSetupHook挂接过程。如果您使用自定义模板定义其他控件,则必须提供PageSetupHook挂钩过程来处理控件的输入。另外,您可以提供PagePaintHook挂钩过程来自定义页面设置对话框显示的示例页面的内容。有关PagePaintHook挂钩过程的详细信息,请参阅自定义样本页.
启用PageSetupHook钩子程序
1.在PAGESETUPDLG结构的旗成员中设置PSD_ENABLEPAGESETUPHOOK标志。
2.在lpfnPageSetupHook成员中指定挂钩过程的地址。
处理其WM_INITDIALOG消息后,对话框过程向PageSetupHook挂接过程发送一个WM_INITDIALOG消息。此消息的【lParam的】参数是指向用于初始化对话框的PAGESETUPDLG结构的指针。