0

我有一个 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。

  1. 为控件使用单独的帮助页面时,我缺少什么?
  2. 是否可以将控件重定向到主页中的锚点?类似于... HIDC_MYCOMBOBOX = mydialog_help.htm#mycombobox
  3. 我添加了一个“?” 按钮运行以下代码,但这也没有给出控件的上下文,只是打开 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);
    
4

0 回答 0