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);
}