Как добавить кнопку контекстно-зависимой справки для определенного диалогового элемента управления
У меня есть приложение MFC (10-летнее приложение), в котором есть контекстно-зависимая справка для каждого диалога. Я хочу добавить справку по конкретному списку, а также небольшую кнопку со знаком вопроса рядом с этим элементом управления. Пользователи могут выбрать комбинированный список и нажать клавишу F1 или щелкнуть кнопку рядом с комбинированным списком, и он перейдет на страницу справки, посвященную этому списку, а не общую справку для всего диалога.
- В свойствах ресурса диалога я установил "Справка по контексту" в True.
- В свойствах выпадающего списка я установил "Идентификатор справки" на 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);