MFC单文档程序添加HTML帮助支持

1、在App类 构造函数中添加

 EnableHtmlHelp();

2、在Frame类中,添加消息影射:

 ON_COMMAND(ID_HELP_FINDER, CFrameWnd::OnHelpFinder)
 ON_COMMAND(ID_HELP, CFrameWnd::OnHelp)
 ON_COMMAND(ID_CONTEXT_HELP, CFrameWnd::OnContextHelp)
 ON_COMMAND(ID_DEFAULT_HELP, CFrameWnd::OnHelpFinder)

3、修改resource.h的属性:

命令行:
echo // 生成的帮助映射文件。使用者为NdtSampProc.HHP. > "hlp/HTMLDefines.h"
echo. > "hlp/HTMLDefines.h"
echo // 命令(ID_* 和 IDM_*) >> "hlp/HTMLDefines.h"
makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "$(InputFileName)" >> "hlp/HTMLDefines.h"
echo. >> "hlp/HTMLDefines.h"
echo // 提示(IDP_*) >> "hlp/HTMLDefines.h"
makehm /h IDP_,HIDP_,0x30000 "$(InputFileName)" >> "hlp/HTMLDefines.h"
echo. >> "hlp/HTMLDefines.h"
echo // 资源(IDR_*) >> "hlp/HTMLDefines.h"
makehm /h IDR_,HIDR_,0x20000 "$(InputFileName)" >> "hlp/HTMLDefines.h"
echo. >> "hlp/HTMLDefines.h"
echo // 对话框(IDD_*) >> "hlp/HTMLDefines.h"
makehm /h IDD_,HIDD_,0x20000 "$(InputFileName)" >> "hlp/HTMLDefines.h"
echo. >> "hlp/HTMLDefines.h"
echo // 框架控件(IDW_*) >> "hlp/HTMLDefines.h"
makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "$(InputFileName)" >> "hlp/HTMLDefines.h"

 说明:
正在生成帮助编译器的映射文件...

输出:
hlp/HTMLDefines.h

4、在help目录中,利用HTML Help Workshop建立一个与项目名称相同的帮助项目,并添加到解决方案中。

5、设置帮助项目的属性:

命令行:
start /wait hhc "hlp/ProjectName.hhp"
if not exist "hlp/ProjectName.chm" goto :HelpError
copy "hlp/ProjectName.chm" "$(OutDir)/ProjectName.chm"
goto :HelpDone
:HelpError
echo hlp/ProjectName.hhp(1) : error:创建帮助文件时遇到问题
echo.
:HelpDone
echo.

说明:
正在生成帮助文件...

输出:
$(OutDir)/$(ProjectName).chm

附加依赖项:
hlp/HTMLDefines.h

6、剩下的工作就不需要多说了吧,菜单工具条添加相应项,编写html帮助文档内容。

原文地址 http://www.server110.com/html/201401/4838.html  

原文地址:https://www.cnblogs.com/xinshuwei/p/6246351.html