次の方法で共有


状況依存のヘルプの表示

状況依存のヘルプは、この説明のために、ユーザー アクセス ダイアログ ボックスのコントロールのヘルプ サポートを示しています:

  • F1 キーを押して。

  • コントロールの (これは、右クリックであるかどうか。ヘルプなど)。

  • 疑問符 (ポインターの使用により、何であるか。ヘルプのポインター)。

各コントロールに状況依存のヘルプをサポートすること [HelpID] のプロパティを Trueに設定します。

必要に応じて、プロジェクトの [プロパティ ページ] のダイアログ ボックスの [リンカー] フォルダーの [入力] のプロパティ ページにある [追加の依存ファイル] のプロパティに htmlhelp.lib を追加します。

状況依存のヘルプのソースの情報は、HTML ヘルプ プロジェクトに含める .txt ファイルに格納されます。

状況依存のヘルプ テキスト ファイルを作成するには

  1. .txt ファイルを作成するためにテキスト エディターを使用します。

  2. 次に示すトピックを書式設定:

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

[!メモ]

詳細については、"HTML ヘルプのオンライン ヘルプ形式の状況依存のヘルプをデザインする" "を参照してください。[ヘルプ] のメニュー (HTML Help Workshop)、[ヘルプのトピック]を選択します。

.txt ファイルを作成したら、で .hhp ファイルの[ファイル]セクションに追加します。

ダイアログ ボックスのリソースのヘルプをサポートするには、ID (トピック番号) を支援するコントロールの ID を割り当てる次元配列を作成する必要があります。

次元配列を作成する

  • ダイアログ ボックスを表すすべてのクラスの .cpp ファイルで、クラスの末尾に次元配列を追加します。次に例を示します。

    static DWORD myarray[] = {
       IDC_CHECK1, 1,
       IDC_BUTTON1, 2,
       IDC_EDIT1, (DWORD)-1,
       0,0
    };
    

次元配列の各エントリは状況依存のヘルプ テキスト ファイルのトピック番号を持つダイアログ ボックスのコントロールのリソース id を組み合わせたものです。これでは、特定のリソースは存在しないか。ヘルプを使用–1。この配列の最後のペアは 0,0 になります。

状況依存のヘルプへのアクセスは、コントロールが F1 ヘルプにアクセス フォーカスがあるときに F1 キーを押せることを意味します。

状況依存のヘルプへのアクセス キーを有効にするには

  • WM_HELPINFO のメッセージのハンドラー (状況依存のヘルプ F1 キーへのアクセスが必要な各ダイアログ ボックス クラスでは) を実装し、ハンドラーに次のコードを実行する:

    BOOL CMyDlg::OnHelpInfo(HELPINFO* pHelpInfo)
    {
       BOOL bRet = TRUE;
    
       if (pHelpInfo->iContextType == HELPINFO_WINDOW)
       {
          HWND hwnd = ::HtmlHelp(
             (HWND)pHelpInfo->hItemHandle,
             _T("my_chm.chm::/ctrlhlp.txt"),
             HH_TP_HELP_WM_HELP,
             (DWORD)(LPVOID)myarray);
          bRet = (NULL != hwnd);
       }
    
       return bRet;
    }
    

これは何ですか。ヘルプは、ユーザーがコントロールを右クリックすると、コントロールのヘルプを表示します。

これは、右クリックで何を実行するか。Help

  • これがあるものが必要な各ダイアログ ボックス クラスの WM_CONTEXTMENU メッセージのハンドラーを 関数へのマッピングのメッセージ (を参照) 実行します。ヘルプ (オブジェクト ID のリストからダイアログ ボックスの ID を選択します)。ハンドラーの次のコードを実行する:

    void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
    {
       UNREFERENCED_PARAMETER(point);
    
       ::HtmlHelp(
          pWnd->GetSafeHwnd(),
          _T("my_chm.chm::/ctrlhlp.txt"),
          HH_TP_HELP_CONTEXTMENU,
          (DWORD)(LPVOID)myarray);
    }
    

.chm ファイルを指定すると、予期される位置は、プロジェクトの作業ディレクトリです。作業ディレクトリ (既定では、プロジェクト ディレクトリ) の位置については [プロパティ ページ] のダイアログ ボックスの [デバッグ] のタブを参照してください。状況依存のヘルプを含む .chm ファイルでテキストを指定すると、.chm .hhp ファイルに .txt ファイルに指定されていると同じ場所情報を指定する必要があります。

既に状況依存のヘルプへのアクセス キーを実行している場合、では、簡単にできるか。疑問符がタイトル バーに表示されます。ダイアログ ボックスの右上隅のポインター。

これにより、有効にするか。ヘルプのポインター。

  • ダイアログ ボックスの [拡張スタイル] のタブの [コンテキスト ヘルプ] のチェック ボックスをオンにします。

参照

概念

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