我有一个 MFC 应用程序(10 岁的应用程序),它对每个对话框都有上下文相关的帮助。我想在特定组合框上添加帮助,以及此控件旁边的小问号按钮。用户可以选择组合框并按 F1,也可以单击组合框旁边的按钮,它将跳转到专门针对该组合框的帮助页面,而不是整个对话框的一般帮助。
- 在对话框资源属性中,我已将“上下文帮助”设置为 True。
- 在组合框属性中,我将“帮助 ID”设置为 True。
- 在 myapp.hpp 中,我已将“HIDC_MYCOMBOBOX = mycombobox_help.htm”添加到 [ALIAS] 部分,并将 resource.hm 文件包含在 [MAP] 部分中。
- 再次在 app.hpp 文件中,对话框使用“HIDD_MYDIALOG = mydialog_help.htm”
然而,选择组合框并按 F1 仍然会显示 mydialog_help.htm,而不是 mycombobox.htm。
- 为控件使用单独的帮助页面时,我缺少什么?
- 是否可以将控件重定向到主页中的锚点?类似于... HIDC_MYCOMBOBOX = mydialog_help.htm#mycombobox
我添加了一个“?” 按钮运行以下代码,但这也没有给出控件的上下文,只是打开 mydialog_help.htm。
HELPINFO lhelpinfo; lhelpinfo.cbSize = sizeof(lhelpinfo); lhelpinfo.iContextType = HELPINFO_WINDOW; lhelpinfo.iCtrlId = IDC_BALANCING_METHOD; lhelpinfo.hItemHandle = GetDlgItem(IDC_BALANCING_METHOD)->m_hWnd; lhelpinfo.dwContextId = HIDC_BALANCING_METHOD; lhelpinfo.MousePos = POINT(); CDialog::OnHelpInfo(&lhelpinfo);