0

ダイアログごとに状況依存のヘルプがある 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 が表示されます。

  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