通用对话框的挂钩程序

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

对于每个常见对话框,您可以启用挂钩过程以从默认对话框过程中处理消息。常见的常见对话框钩子过程有两种:

*与大多数常用对话框一起使用的标准挂钩程序

*“打开并另存为”对话框支持的资源管理器式挂钩过程

当您为其中一个常见对话框提供标准挂钩过程时,默认对话框过程将按照以下步骤处理其消息。

信息处理
WM_INITDIALOG默认对话框过程在将消息传递给挂接过程之前处理消息。消息的【lParam的】参数是指向创建对话框时指定的初始化结构的指针。
所有其他消息挂钩过程首先接收消息。然后,挂钩过程的返回值确定默认对话程序是否处理消息或忽略它。

对于资源管理器样式的打开和另存为对话框,挂钩过程不会在公共对话框中接收用于标准控件的消息。而是从对话框接收通知消息,并在自定义模板中定义任何其他控件的消息。有关详细信息,请参阅资源管理器钩子程序.

要启用挂钩过程,请在对话框的相应结构的成员中设置ENABLEHOOK值。如果设置了ENABLEHOOK标志,则结构的lpfnHook成员必须指定挂钩过程的地址。

下表显示了为每个常用对话框提供的挂钩过程的类型。

常用对话框类型钩子程序
颜色CCHookProc
查找或替换FRHookProc
字形CFHookProc
打开或另存为
(资源管理器风格)
OFNHookProc
打开或另存为
(老式)
OFNHookProcOldStyle
打印PrintHookProc
页面设置PageSetupHook

对于“页面设置”对话框,您还可以指定PagePaintHook挂接过程。这是一个特殊的挂钩过程,您可以使用它来自定义页面设置对话框显示的示例页面的外观。

注意“打印设置”对话框已被“页面设置”对话框取代,该对话框应由为Windows 95或Windows NT版本3.51或更高版本编写的新应用程序使用。但是,为了与早期版本的Windows兼容,PrintDlg功能将继续支持显示打印设置对话框。您可以为“打印设置”对话框提供SetupHookProc挂接过程。