MFC アプリケーションでの HTML ヘルプの通知メッセージの受信
更新 : 2007 年 11 月
MFC プログラム内で HTML ヘルプの通知メッセージを受け取るには、次の操作を行います。
Visual C++ プロジェクトにシンボルを定義します。以下の例では、ID_HHNOTIFICATION というシンボルを使用します。
シンボルを定義するには、[リソース ビュー] の上位フォルダを右クリックし、[リソース シンボル] を選択します。
[リソース シンボル] ダイアログ ボックスの [新規作成] をクリックし、新しいシンボルを定義します。
Visual C++ プロジェクトで、HH_WINTYPE 構造体を初期化し、HTMLHelp 関数を呼び出し、HH_SET_WIN_TYPE コマンドを使用してこの構造体を設定します。構造体の idNotify フィールドに対して ID_HHNOTIFICATION を使用します。
メッセージを受け取る 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); }