不过没关系, 虽然有些时候 Microsoft 的东东的确很差劲,但这次,它想到了――提供了一个非常方便的合并(Merge) 功能,可以把目录、索引甚至全文搜索字典都合并起来。
怎么开始呢?还记得在“设置工程选项(Project Options)”一节中最后介绍的内容吗?对了,就是从这里开始的:工程选项(Option) 对话框的 Merge Files 属性页。不过在这之前我们需要新建一个 HTML 帮助工程,所有制作将在这个工程中完成。
Merge Files 属性页里只有添加(Add...) 和删除(Remove) 两个按钮,它们的作用我想不必介绍了吧。只需要在这里添加你想要合并的文件,第一步就简单的完成了。不过切记,这个合并不是真正意义上的合并――生成后的 HTML 帮助文件大小和没合并前几乎一样大。因此,发布帮助文档的时候,需要将被合并的 HTML 帮助一起发布。
现在还有一个问题,我编译后找遍了所有链接,始终打不开被合并的帮助文件啊,什么地方搞错了?不要着急,我们才刚刚完成第一步,不过做完这一步,被合并 HTML 帮助文件的索引和全文搜索字典都已经合并进来了,你没找到吗?那是你观察不仔细。
下面,我们要做的第二步是合并目录。
在刚才新建的工程中添加一个目录文件,当然,是新建的。然后右键单击空白处弹出菜单。菜单的前两项都已经在“为帮助文件添加目录(Contents)和索引(Index)”一节有介绍过了,第三项“Insert File...”才是本节的重头戏。
点击“Insert File...”菜单项,会弹出一个叫做“Include File”的对话框,选择你要合并的 HTML 帮助文件(.chm),然后……还没完,你还需要动手添加如下文字
.....chm::contents.hhc
前面的 .....chm 是你选择的文件,后面的 ::contents.hhc 是要你动手输入的。其中 contents.hhc 要根据实际你使用的目录文件名来填写,而这个目录文件是 .....chm 的,不是当前工程的。如果还没明白,看看下面注意事项的例图。
编译运行,一切正常,该合并的都合并了,从目录里就能找到被合并帮助文件中的内容。不过,这个样子好象还是有点不对劲啊――下面我来说说需要注意的地方。
第一,我们没有给这个新工程添加主题文件。有什么后果?想想你用 IE 浏览一个不存在的页面时会出现什么样的情况吧。任何一个 HTML 帮助都有一个默认页的,我们新建这个工程也不例外,虽然它合并了其它的 HTML 帮助,但是――还是没有自己的默认页啊。结论:无论如何要给它添加一个主题文件,就算是封面好了。
第二,HTML Help Workshop 在这里有一个 BUG,为免费BUG,你需要注意的第二点就是:想要目录中的并入文件节点是子某个节点的字节点,在编辑时应该让它和这个节点同层次。 有时候我们会见到一从一个帮助页中链接到另一个帮助文件的例子,比如在 MSDN 中就非常多,这就是怎么实现的呢?其实,这不是 HTML Help Workshop 的工作,而是主题文件(.htm) 的工作。需要在 HTML 文件中插入一个用打开 HTML 帮助的 ActiveX 控件,这里就不详述了。
标签: