<PAVE OVER> 显示区分上下文的帮助

上下文相关帮助,出于此讨论,可以引用控件的帮助在支持用户访问的对话框:

  • 通过按 F1 键。

  • 通过右击控件 (这是什么? help)。

  • 使用问号指针 (这是什么? 帮助指针)。

对于每个控件。为了支持区分上下文的帮助,将 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,则访问的控件具有焦点时帮助。

启用到上下文相关的" 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;
    }
    

这是什么? 当用户右击控件时,帮助显示控件的帮助。

实现右击这是什么?帮助

  • 实现一个处理程序 (请参见 指向函数的信息映射) 所需的每一对话框类的 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 时指定文本文件,则必须指定位置信息。中的 .txt 文件中指定。.chm .hhp 文件。

如果已经实现对上下文相关的" F1 帮助访问,则可以轻松启用这是什么?指针,导致一个问号显示在标题栏,对话框的右上角。

启用这是什么?帮助问号指针

  • 选择对话框中属性的 Extended Styles 选项卡的 上下文帮助 复选框。

请参见

概念

HTML 帮助:为程序提供区分上下文的帮助