ダイアログごとに状況依存のヘルプがある MFC アプリ (10 年前のアプリ) があります。特定のコンボボックスにヘルプを追加し、このコントロールの横に小さな疑問符ボタンを追加したいと考えています。ユーザーはコンボボックスを選択して F1 キーを押すか、コンボボックスの横にあるボタンをクリックすると、ダイアログ全体の一般的なヘルプではなく、このコンボボックスに特化したヘルプ ページにジャンプします。
- ダイアログ リソースのプロパティで、「コンテキスト ヘルプ」を True に設定しました。
- コンボボックスのプロパティで、「ヘルプ ID」を True に設定しました。
- myapp.hpp の [ALIAS] セクションに「HIDC_MYCOMBOBOX = mycombobox_help.htm」を追加し、[MAP] セクションに resource.hm ファイルを含めました。
- 再び app.hpp ファイルで、ダイアログは「HIDD_MYDIALOG = mydialog_help.htm」を使用します。
それでも、コンボボックスを選択して F1 を押すと、mycombobox.htm ではなく、mydialog_help.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);