MFC アプリケーションでの HTML ヘルプの通知メッセージの受信

更新 : 2007 年 11 月

MFC プログラム内で HTML ヘルプの通知メッセージを受け取るには、次の操作を行います。

  1. Visual C++ プロジェクトにシンボルを定義します。以下の例では、ID_HHNOTIFICATION というシンボルを使用します。

    • シンボルを定義するには、[リソース ビュー] の上位フォルダを右クリックし、[リソース シンボル] を選択します。

    • [リソース シンボル] ダイアログ ボックスの [新規作成] をクリックし、新しいシンボルを定義します。

  2. Visual C++ プロジェクトで、HH_WINTYPE 構造体を初期化し、HTMLHelp 関数を呼び出し、HH_SET_WIN_TYPE コマンドを使用してこの構造体を設定します。構造体の idNotify フィールドに対して ID_HHNOTIFICATION を使用します。

  3. メッセージを受け取る CWnd クラスの派生クラスで、OnNotify 関数をオーバーライドします。CWnd クラスは、WW_WINTYPE 構造体の hwndCaller フィールドで指定された HWND に関連付けられたクラスです。HTML ヘルプでトピックに移動するたびに OnNotify 関数を使用して OnNavComplete(HHN_NOTIFY*, LRESULT) ハンドラを呼び出す方法を次に示します。

    BOOL CMyDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
    {
       NMHDR* pNMHDR = (NMHDR*)lParam;
       switch (pNMHDR->idFrom)
       {
          case ID_HHNOTIFICATION:  // whatever id you placed in idNotify of HH_WINTYPE
             if (pNMHDR->code == HHN_NAVCOMPLETE)
             {
                OnNavComplete((HHN_NOTIFY*) lParam, pResult);
                return TRUE;
             }
             break;
       }
    
       return CDialog::OnNotify(wParam, lParam, pResult);
    }
    

参照

概念

HTML ヘルプ : プログラムの状況依存のヘルプ