自定义打印对话框

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

您可以为“打印”对话框提供自定义模板,例如,如果要包含应用程序唯一的其他控件。PrintDlg功能使用您的自定义模板代替默认模板。

要为“打印”对话框 {999896002}

1.通过修改PRNSETUP.DLG文件中指定的默认模板来创建自定义模板。默认打印对话框模板中使用的控制标识符在DLGS.H文件中定义。

2.使用PRINTDLG结构启用模板,如下所示:

*如果您的自定义模板是应用程序或动态链接库中的资源,请在成员中设置PD_ENABLEPRINTTEMPLATE标志。使用结构的的hInstancelpPrintTemplateName成员来标识模块和资源名称。

-Or-

*如果您的自定义模板已经在内存中,请设置PD_ENABLEPRINTTEMPLATEHANDLE标志。使用hPrintTemplate成员来标识包含该模板的内存对象。

您可以为“打印”对话框提供PrintHookProc挂钩过程。挂钩过程可以处理发送到对话框的消息。它也可以将消息发送到对话框。如果您使用自定义模板定义其他控件,则必须提供一个挂钩过程来处理控件的输入。

要为打印对话框

1.在PRINTDLG结构的成员中设置PD_ENABLEPRINTHOOK标志。

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

处理其WM_INITDIALOG消息后,对话框过程向挂钩过程发送WM_INITDIALOG消息。此消息的【lParam的】参数是指向用于初始化对话框的PRINTDLG结构的指针。

启用挂钩过程提供自定义模板