HTML Help WorkShop制作chm及MFC打开chm

一款应用软件,尤其专业软件,说明文档必不可少。当然对于社交娱乐软件另说。(张小龙说过通过一步步引导用户学习使用的软件不是好软件)
这里简单说明在MFC中,添加帮助菜单,打开chm帮助文件。

一,创建chm文件

1.安装微软的HTML help Workshop
本软件可以生成html文件,也可以生成chm文件。
2运行Htmlhelp Workshop
它的工作窗口很简单,菜单栏上有五个命令,分别是
1、 “File(文件)”
2、“View(校验)”
3、 “Test(测 试)”
4、 “Tools(工具)”
5、“Help(帮助)”
文件下面的工具栏有五个按钮,分别是
1、“New(新建)”
2、“Open(打开)”
3、“Compiled HTML file(编译HTML文 件)” 4、“View Compiled file(校验编译文件 )” 5、“Display online information(联机帮助)”

一、创建项目文件
1、 单击HTML help Workshop菜单或工具栏中的“New(新建)”命令,这时出现“选择新建内容”的对话框。这里有五个选项: “Project(项目)” “Text(文本)” “HTML File(HTML文件)” “Table of Contents (目录)” “Index(索引)”

2、选择“Project(项目)”,接着出现“Project(项目)”向导,告诉你这个向导可以转换的文件格式,一般情况下我们是要创建项目(.hhp)文件,不需要转换。

3、 直接点击“下一步”,指定放置的目录及文件名

4、 点击“下一步”,进入了“现有文件”对话框,如果你想将已经存在的文件包含进“项目”里,在下面列表中选择。这里一般空着,这些文件(包括已经编辑好的主题文件)以后可以添加
“Contents(目录)” “Index( 索引)”然后下一步,完成即可。

5、在“项目”窗口的左侧是7个按钮,它们的功能名称自上而下分别是:
“Change project options( 改变项目选项)”
“Add/Remove topicfiles(添加/删除主题文件)”
“Add/Modify win dow definitions(添加/修改窗口定义)”
“H tmlHelp API information(HTML帮助 API信息)”
“View HTML source(校验HT ML源文件)”
“Save Project Contents and Index files(保存项目、目录和索引文件) ”
“Save all file and Compile(保 存全部文件并编译)”

6、单击“Change project options(改变项目选项)”按钮,出现“Options(选项)”对话框,光标在“General(常规)”选项卡的“Title(标题)”文本框内闪烁,在这里加入标题,编译后这个标题将出现在chm文件窗口的标题栏中 。其它的内容暂时用系统的默认值 。
HTML Help WorkShop制作chm及MFC打开chm_第1张图片

7、单击“Add/Remov e topic files(添加/删除主题文件)”按钮,再选 择“Add(添加)”按钮,把作为封面页的HTML文件添上。封面页的文件一定要有,否则编译的帮助文件运行后,系统会报错。 好了,简单的“项目”编辑就完成了。 HTML文件可以通过文件-新建-html文件或者通过txt文件创建。

二、创建目录文件
1、 单击“Cont ents(目录)”选项卡,这时系统弹出一个对话框,提示你“项目”还没有关联目录文件(.hhc),你可以创建一个新的目录文 件,或者指定一个现有的 。

2、 选择“Create a new contents file(创建一个新目录文件)”,进入下一步选定一个新目录文件的名称和存放路径,指定后出现目录编辑窗口。在目录窗口的左侧有11个按钮,前5个分别是:
“Contents properties(目录工具)”
“Insert a heading(插入标题)”
“Insert a page(插入页面)”
“Edit selection(编辑选择 )”
“Delete selection(删除选择)” 中间 4个箭头用来调整指定标题或页面的位置,最后两个已在项目编辑窗口中出现过 。
3、 根据需要插入标题或页面目录,按下“Insert a heading(插入标题)”或“Insert a pag e(插入页面)”按钮,都会弹出“Table of Contents Entry(目录条目)”对话框
4、 在“Entry title(条目标题)”文本框中输入条目的标题,并根据情况选定对应的主题(HTML文件),单击“Entry title(条目标题)”下的“Add(添加)”按钮,在弹出的对话框的下面“File or URL(文件或URL地址)”文本框中输入文件名或URL地址并确定;单击“Advanced(高级)”选项卡, 在“Image index(图像索引)”栏中为条目指定图标,比如包含其它条目的条目可以用书形图标,而页面条目可以用问号图标。如果在单击“Insert a page(插入页面)”按钮之前所选择的条目不包含别的条目,也不被别的条目所包含,那么 会询问“是否要创建一个起始条目”,选择了“是”会增加起始条目(一级条目),选择了“否”会增加一个子条目。标题可以不添加主题文件或URL地址,也可放置需要的主题文件,作为标题的说明内容。标题可以分为多级,要按照制作的内容统一考虑。如果觉得不满意,可以用左侧的箭头进行调整,也可以选定该条目,单击鼠标右键,不但可以调整,还可以插入标题、主题或目录文件。

编辑目录文件是制作chm文件最关键的工作,目录文件应该包含一个chm文件所有目录(主题),而每个目录又包含条目标题(名称)和该条目的主题文件,要避免条目标题与对应的主题不一致的情况出现。等所有目录都添加好后目录就算完成了。

三、创建索引文件
1、在HTML help Workshop的工作窗口上单击“Index(索引)”选项卡,和创建目录文件一样,也会弹出一个对话框,操作也是一样的。进入索引编辑窗口,左侧也有11 个按钮,有8个是已经熟悉的,还有3个分别是: “Index p roperties(索引工具)” “Insert a key word(插入关键字)”
“Sort keywords al phabetically(排序关键字)”
所谓关键字是用户可能用到的并与一个或多个帮助主题文件关联在一起的字、词或短语,索引文件(.hhk)也是一个HTML文件,它包含若干个关键字 ,当用户打开chm文件后,单击索引标签并输入一个关键字后,chm文件将显示与这个关键字有关的主题的列表,非常方便地找到相关主题。
单击“Insert a keyword(插入关键字)”按钮,出现一个与“Table of Contents Entry”对话框十分相似的“Index Entry(索引项)” 对话框
2、 在“General(常规)”选项卡的“Keyword (关键字)”文本框中输入关键字,单击“Add(添加)”按钮指定与该关键字相关联的主题文件。如果想跳转到另一个关键字,在“ Index Entry(索引项)”对话框中按“Advance (高级)”选项卡,选中下面的“Destination is Another Keyword(目的地是另一个关键字)”
3、单击“General(常规)”选项卡,单击“Add(添加)”按钮,在“File or URL(文件或URL地址)”框中输入要跳转的关键字,单击“OK”。
四、创建搜索
chm文件的“Search(搜索)”选项卡允许用户在所有主题文件中搜索字、词或短语,将它们的标题显示出来,而且在主题中用醒目的方式来显示。打开一个项目文件,单击“Project(项目)”选项卡的“Change project options(改变项目选项)”, 在“Options(选项)”对话框的“Compiler(编译)”选项卡中选中“Compile Full Text Sea rch Information(编译全文搜索信息)”即可。

二、mfc打开chm文件

1) 添加HtmlHelp.H头文件和HtmlHelp.lib库。在项目–属性–连接器–输入的附加依赖项中加入HtmlHelp.lib库文件,然后在连接器–常规–附加库目录中加入HtmlHelp.lib的目录位置。然后再工程中加入头文件#include “HtmlHelp.h”。
2)

TCHAR exeFullPath[MAX_PATH];
    CString strPath;
    GetModuleFileName(NULL, exeFullPath, MAX_PATH);
    strPath = CString(exeFullPath);
    strPath =   strPath.Left(strPath.ReverseFind('\\'));
    strPath += "\\equipexam1.chm";//此处改名
    //设置显示的初始页面
    strPath += "::main.htm";//此处改名
    char cCommandLine[MAX_PATH];
    strcpy(cCommandLine, strPath);
    HWND hWnd=::HtmlHelp(GetSafeHwnd(), cCommandLine, HH_DISPLAY_TOPIC, 0);
     if(hWnd==NULL)
     {
AfxMessageBox("文档打开失败");
     }

3)将main.htm和equipexam1.chm放在debug文件夹下。若显示打不开,调试看cCommandLine路径。

你可能感兴趣的:(mfc)