通过在对话框的初始化结构的旗成员中设置一个SHOWHELP值,可以在任何一个通用对话框中显示一个帮助按钮。如果显示“帮助”按钮,则必须处理用户的帮助请求。处理可以在应用程序的一个窗口过程或对话框的挂钩过程中完成。通常,您将通过调用WinHelp函数来处理请求。
要在其中一个窗口过程中处理帮助消息,您必须获取由HELPMSGSTRING值定义的字符串的消息标识符,并标识接收消息的窗口。要获取消息标识符,请在调用RegisterWindowMessage函数时指定HELPMSGSTRING作为参数。创建公共对话框时,使用对话框初始化结构的hwndOwner成员来标识接收消息的窗口。当用户选择帮助按钮时,对话框过程将消息发送到窗口过程。
要在挂钩过程中处理帮助消息,您应该处理WM_COMMAND消息。如果此消息的【wParam中】参数表示用户按了“帮助”按钮,挂钩过程将提供帮助。“帮助”按钮的标识符是DLGS.H文件中定义的常量pshHelp.
资源管理器样式打开和另存为常规对话框的钩子过程不会为帮助按钮接收WM_COMMAND消息。相反,当单击“帮助”按钮时,该对话框将向挂钩过程发送CDN_HELP通知消息。