Mfc 如何为特定对话框控件添加上下文相关的帮助按钮

Mfc 如何为特定对话框控件添加上下文相关的帮助按钮,mfc,context-sensitive-help,Mfc,Context Sensitive Help,我有一个10年前的MFC应用程序,每个对话框都有上下文相关的帮助。我想在一个特定的组合框上添加帮助,以及在这个控件旁边添加一个小问号按钮。用户可以选择组合框并点击F1,也可以单击组合框旁边的按钮,它将跳转到专门关于此组合框的帮助页面,而不是整个对话框的一般帮助 在“资源属性”对话框中,我已将上下文帮助设置为True。 在组合框属性中,我已将Help ID设置为True。 在myapp.hpp中,我将HIDC_MYCOMBOBOX=MYCOMBOBOX_help.htm添加到[ALIAS]部分,并

我有一个10年前的MFC应用程序,每个对话框都有上下文相关的帮助。我想在一个特定的组合框上添加帮助,以及在这个控件旁边添加一个小问号按钮。用户可以选择组合框并点击F1,也可以单击组合框旁边的按钮,它将跳转到专门关于此组合框的帮助页面,而不是整个对话框的一般帮助

在“资源属性”对话框中,我已将上下文帮助设置为True。 在组合框属性中,我已将Help ID设置为True。 在myapp.hpp中,我将HIDC_MYCOMBOBOX=MYCOMBOBOX_help.htm添加到[ALIAS]部分,并将resource.hm文件包含在[MAP]部分。 同样在app.hpp文件中,该对话框使用HIDD_MYDIALOG= mydialog_help.htm 但是,选择组合框并按F1仍然会显示mydialog\u help.htm,而不是mycombobox.htm

对于控件使用单独的帮助页,我缺少了什么? 是否可以将控件重定向到主页中的锚点?一些东西,沿着。。。 HIDC\u MYCOMBOBOX=mydialog\u help.htmmycombobox 我添加了一个?按钮来运行以下代码,但这也不会给出控件的上下文,只会打开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);

为特定控件提供上下文帮助不是典型的行为。重新设置现有上下文的格式是否有助于更好地解释每个控件解决您的问题?我想从用户的角度来看,最重要的部分是?按钮,让用户知道有专门用于此组合框的帮助信息。我已经实现了这个按钮来直接调用HtmlHelp。如果有某种方法可以跳转到mydialog_help.htm页面上的定位点,而不必编写单独的帮助页面来描述组合框选项,这将是一件好事?按钮,您应该考虑更改鼠标光标以指示当用户在控件上方移动时,可以使用帮助。@ RiReave-更改光标是完全非标准UI行为,并且会混淆用户。它也没有告诉他们如何获得帮助。即使他们知道F1,我相信我的许多用户都不知道,我最初的问题仍然没有得到回答,因此我无法对该控件执行任何特定操作,因此更改光标没有任何意义!至少有一个按钮是一个标准的UI元素,任何用户都知道点击它来获取帮助。现在,如果按钮可以跳转到锚,而不是一个全新的页面。。。所以,我们回到我最初的问题。。。