根据 MSDN:
CPropertySheet 中的帮助仅受 F1 键和帮助按钮支持。默认情况下,帮助按钮出现在应用程序框架中。无需用户干预。当用户在属性表中添加每个页面的帮助信息时,帮助机制会在单击帮助按钮时自动显示该页面的帮助信息。
我认为对于CMFCPropertySheet
. 所以我首先开始尝试处理处理WM_HELPINFO
程序:
void COtherSettingsEmailInfoPage::HtmlHelp(DWORD_PTR dwData, UINT nCmd)
{
HtmlHelp((DWORD_PTR)_T("HelpOptionsEmail.html"), HH_DISPLAY_TOPIC);
//CMFCPropertyPage::HtmlHelp(dwData, nCmd);
}
没用。然后我添加了一个IDHELP
按钮点击处理程序:
void COtherSettingsEmailInfoPage::OnHelp()
{
HtmlHelp((DWORD_PTR)_T("HelpOptionsEmail.html"), HH_DISPLAY_TOPIC);
}
没用。
那么当用户按下工作表上的帮助按钮时,我应该如何显示正确的帮助主题?使困惑。
更新
我在工作表和页面上都试过这个 - 不起作用:
BOOL COtherSettingsEmailInfoPage::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
LPPSHNOTIFY lppsn = (LPPSHNOTIFY)lParam;
if (lppsn->hdr.code == PSN_HELP)
{
AfxMessageBox(_T("Boo2"));
}
return CMFCPropertyPage::OnNotify(wParam, lParam, pResult);
}