htmlhelp帮助文件介绍(一)
Windows 联机帮助系统的新标准——HtmlHelp
作者 : 冯惠军
纵观 Windows 应用开发程序,联机帮助系统是应用软件的重要组成部分,为应用软件的使用提供了极大的方便和帮助。过去微软的联机帮助系统一直采用的是 WinHelp 标准(一种基于 RTF 格式的联机帮助系统)。随着 Windows98 操作系统的发布,微软公司对联机帮助系统作了较大的改变,用 HtmlHelp 格式取代了过去一直采用的 Winhelp 格式,并且在所有应用程序的新版本中,包括 Office2000 , Visual Studio 6.0 及 Money'99 中都采用了这种新的联机帮助格式。
事实上微软已经决定将HtmlHelp 作为基于Windows 的应用程序联机帮助系统的新标准,尽管微软在短期内将继续支持WinHelp 标准,但在新版本的Windows 操作系统及应用程序中将支持HtmlHelp 标准。
一、HtmlHelp 的优点
1. HtmlHelp帮助系统采用统一的窗口,改变了 WinHelp 帮助系统目录窗口和内容窗口分离的情况,其左侧包括目录、主题索引、查询和主题捷径( Favorites )四个可相互切换的窗格;右侧显示主题文档的内容;工具栏则采用浏览器的导航格式。这种布局可使用户随意选择目录主题进行浏览,而且随时可以
知道正在阅读文档的哪一部分。
2. HtmlHelp标准是一种非常容易而且方便的创建联机帮助系统及相应的 Web 站点的方式,比建立WinHelp 帮助系统要容易地多。它不仅提供了传统的 WinHelp 联机帮助系统的许多特征,包括超文本连接(“ Alink ”和“ Klink ”)、目录表、索引和全文检索,同时又集成了 HTML 的特征和微软的 ActiveX 技术。
3. HtmlHelp充分利用 Html 文档的多媒体表现力,因此联机帮助文档的内容不再局限于文字和静态图像,在其中可以插入 GIF 动画、声音文件、影像以及其它格式的多媒体内容,使帮助文档所表现的内容更加丰富多彩。通过插入 URL 地址,可直接与互连网络联系在一起。
4. HtmlHelp 对帮助系统的格式也提供了更多的控制。不像 WinHelp 只能定义一种格式页, HtmlHelp 可以使用 HTML 的层叠格式页面( CSS )定义,而且通过联接和嵌入允许使用多种格式页,可以对帮助系统的格式进行整体的或局部的控制,使整个帮助系统的风格一致。
5. HtmlHelp支持 ActiveX 技术, Java Applets 以及脚本语言(如 JavaScript 和 VBScript )可以对帮助系统的内容提供更多的控制,如提供“相关主题”超级联接为用户获得其它有用的相关信息提供方便,弹出式文本框用于内嵌的术语定义或过程的详细说明等等。
6. HtmlHel p 不仅可用于建立联机帮助系统 , 而且由于它固有的特点,能够更好地与企业网和互连网结合起来,对于企业发布联机信息也具有引人注目的优点。可用于制作企业网联机文档,如过程手册、培训指南、产品目录、参考
资料等等,甚至还可以用于制作联机学习教程和电子图书杂志。通过 HtmlHelp 提供的丰富的查询和浏览特征,如动态目录、多层次索引、全文查询等,可以使企业员工能够更容易地查询和浏览文档内容。
7. HtmlHelp文档采用单个经过编译的文件(文件的扩展名为 .chm) ,所有的帮助信息包括文本、声音、图像、影像等源文件全部压缩编译成一个文件,而且所占磁盘空间比原始文件要小的多,使得文档更易于通过 Email 、 FTP 或网络服务器进行传输和发布。
8. HtmlHelp 文档格式容易生成交叉平台联机帮助系统。 HtmlHelp 目前只支持 Windows 操作系统,但使用第三方提供的技术和组件,可以很用以的把 HtmlHelp 帮助系统转换成 Unix 或 Macintosh 等交叉平台帮助系统。
二、HtmlHelp 的组成微软公司为 HtmlHelp 提供了一整套解决方案,包括 HtmlHelp 运行组件、阅读器、创作工具和编译程序,以及一个 ActiveX 控件和一个 Java Applet 。
1. HtmlHelp的运行组件
运行或阅读 HtmlHelp 帮助系统依赖于一些运行组件,它们必须安装到运行的计算机中,才能正确运行 HtmlHelp 帮助系统。主要包括以下四个组件:
其中 HtmlHelp 阅读器使用微软 Internet Explorer 的基本组件来显示帮助内容,它支持 HTML 及其图形格式(包
括 .gif 、 .jpg 和 .png 文件、 ActiveX 、 Java 和脚本语言(如 JavaScript 和 VBScript ),使用这个阅读器可以直接阅读(双击 .chm 文件 ) 文档的内容,如果在应用程序中调用 HtmlHelp 文档,也可以不用这个阅读器。也就是说HtmlHelp 文档即可依附于应用程序作为联机帮助系统,也可以独立使用作为联机文档。
2. ActiveX 控件( )
ActiveX 控件为 HtmlHelp 的功能提供支持,它具有许多支持特征,包括可展开的目录、关键字查询、弹出式窗口和文本框等等。它可用于支持编译的 HtmlHelp 帮助文件,也可用于支持 Web 站点未编译的 HTML 文件,可以把它插入 HTML 文件中提供某些高级特征。同时它还提供了一个 Windows 应用程序接口( API )函数 Htmlhelp ,可以在应用程序中调用。
3. Java Applet
HtmlHelp Java Applet 是一个含有帮助系统浏览特征的控制程序,可以把它插入 HTML 文件中提供诸如目录、索引、相关主题等帮助系统的特征。它可用于任何支持 Java 的浏览器。
4. HtmlHelp Workshop
HtmlHelp Workshop 是微软公司免费提供的一个 HtmlHelp 帮助文档创作工具,可在
msdn.microsoft/workshop/author/htmlhelp/download_main.asp下载。 HtmlHelp Workshop 用一个项目文件( .hhp )管理组成帮助文档的所有文件,包括 HTML 文件、目录文件( .hhc )、索引文件( .hhk )以及图形、图像、声音等文件。它含有一个文本编辑器可用于编辑帮助主题的 HTML 源码,只是这个编辑器不是所见即所得方式。 HtmlHelp Workshop 还含有一个图像编辑器,它具有捕获屏幕图像、转换图像文件、图像编辑以及图像预览等功能,用于管理和编辑文档中的图形文件具有
较强的功能。内嵌的编译器可把所有源文件压缩编译成一个 .chm 文件。同时它还提供一个反编译器,可以把 .chm 文件的所有源文件释放出来。另一个有用的功能就是它可以把现有的 WinHelp 项目文件及相关文件转换成HtmlHelp 格式的项目文件。利用 HtmlHelp Workshop 制作 HtmlHelp 帮助系统非常简单,我们将在后续的文章中作介绍。
三、HtmlHelp的创作工具
前面我们介绍了微软公司的 HtmlHelp Workshop 的主要功能和基本特征,它的确提供了许多有用的功能,但遗憾的是它的编辑器不是所见即所得方式,许多工作要用手工来做,不过既然是免费提供的,当然还是可以使用的。
目前市场上已有由第三方开发的具有更强功能的 HtmlHelp 创作工具,价格自然也不低,下面我们简单介绍几个比较流行的创作工具。
1. ForeHelp
ForeHelp 是由 ForeFront 公司(www.forehelp/)开发的所见即所得的帮助系统创作工具,它的开发环境采用与帮助系统类似的布局,使创作者随时可以观察到最终生成的帮助系统显示结果。它提供一种测试模式,可在编辑过程中,不必对正在编辑的帮助系统进行编译,即可检查文档内的超级连接来模拟最终帮助系统的运行情况。
ForeHelp 含有一个功能齐全的文本编辑工具,可直观方便的输入、编辑、格式化文本,可插入图形或多媒体文件,也可以导入由其它创作工具编辑的项目文件或 Word 文档。 ForeHelp 支持多种帮助格式所提供的特征,建立一个 ForeHelp 项目文件,可以生成多种格式的帮助系统,包括 WinHelp 、 HtmlHelp 、 Java Help 、 WindowsCE Help 、标准 HTML 文档,以及该公司提出的支持多种浏览器的帮助系统 InterHelp 。
2. DocToHelp
DocToHelp 是由 WexTech 公司(www.wextech/)开发的帮助系统创作工具,它集成了 Microsoft Word 作为它的编辑环境,对熟悉 Word 的创作者来说使用更为方便。它既可生成复杂的联机帮助系统,同时又可打印出高质量的书面文档,这也是该公司大力宣传的一个特征。
DocToHelp 提供了许多特征为创作联机帮助系统提供方便,许多工作系统都可自动完成,例如可自动建立主题浏览序列、自动生成目录表、根据关键字自动建立主题连接、自动建立弹出窗口定义、自动生成 WinHelp 、 HtmlHelp 以及 JavaHelp 项目文件等等。
利用 DocToHelp 提供的 HelpXtender ActiveX 控件,程序员可以容易地在应用程序中建立与 HTML 页面或 HtmlHelp 主题之间的连接,为制作上下文相关的联机帮助系统提供了方便。 DocToHelp 采用单一源文件技术,建立一个项目文件可
生成多种格式帮助系统,包括 HtmlHelp 和支持 ActiveX 及 Java Applet 的基于浏览器的 HtmlHelp 、 WinHelp 、 Java Help 及标准 HTML 文档,并可以输出高质量的打印文档。
3. RoboHelp
RoboHelp 是由 BlueSky 公司(www.blue-sky/)开发的联机帮助文档和帮助系统创作工具,它采用所见即所得的直观编辑方式,系统自动管理帮助系统的创作过程,只要点击鼠标,按照屏幕提示输入需要的文本或图形,即可完成制作过程。
RoboHelp 支持多种应用开发环境,包括 Visual Basic 、 Visual C++ 、 Visual Foxpro 、 Delphi 、 PowerBuilder 等等,能过容易地为应用程序建立联机帮助系统。 RoboHelp 可生成多种格式的联机帮助系统,包括 WinHelp 、 HtmlHelp 、Java Help 、 WindowsCE Help 、以及该公司提出的交叉平台帮助系统 WebHelp 。 RoboHelp 提供了 15 个创作辅助工具,包括图形和多媒体工具、文件格式转换工具、项目文件查错工具、快速查工具等,为文档编辑提供了极大的方便。
以上介绍的三种帮助系统工具都提供了强大的功能,其共同特点是提供所见即所得的创作环境,支持多种应用开发环境,可生成多种格式的联机帮助系统等等,所提供的辅助工具各有其侧重及特点,对建立大型的联机帮助系统可以加快创作过程,不过使用也比较复杂。 ForeHelp 和 DocToHelp 都提供试用版,可在其下载,由兴趣的读者不妨一试。
htmlhelp帮助文件制作(二)
HtmlHelp Workshop 的结构
标准的 HtmlHelp 帮助文件显示窗口是一个分成三部分( Tri-Pane )的窗口,上面是工具条;左侧是浏览窗格,包含目录、索引、搜索等选项卡;右侧显示相应的主题内容,如下图所示。
微软公司也提供了一个 HtmlHelp 帮助文档创作工具 HtmlHelp Workshop ,可在
msdn.microsoft/workshop/author/htmlhelp/download_main.asp免费下载。利用 HtmlHelp Workshop 制作简单的具有目录表、索引和查询功能的 HtmlHelp 帮助文档非常容易。但是要实现更高级的特征如“相关主题按钮”,“弹出式文本框”,“上下文相关”等功能,就需要手工插入 ActiveX 代码。本文从简单的功能入手,相信读完本文你就可以制作比较专业的 HtmlHelp 联机帮助系统了。
一、 HtmlHelp Workshop 的结构
html导航源码HtmlHelp 帮助系统是基于大量的 HTML 文件及相关的图形、图像等文件,它最小的文件单位是主题文件,每个主题文件都表示帮助系统中的一个主题,主题文件是一个纯 HTML 文件,可包含图形、图像、超级连接等。 HtmlHelp Workshop 实际上就是一个对构成 HtmlHelp 帮助系统的所有源文件进行管理的工具,你可以在 HtmlHelp Workshop 中创建目录、索引、建立主题和目录之间的超级连接。
在准备制作 HtmlHelp 帮助系统时,应当仔细规划文档所要表达的主题,设计目录结构,也就是说,要把所有帮助信息划分为主题,然后把每个主题文件制作为 HTML 文件,主题文件可大可小,大的话可包含类似书籍中一章的内容,小的话可能只含有几行文字。
目前支持所见即所得的 HTML 工具有很多,如 FrontPage 、 HomeSite 、 Hotdog 、 HomePage 等等,可以先用这些工具把所有主题的 HTML 文件制作好,需要的页面之间的超级连接以及 URL 地址也都设置好。然后再用 HtmlHelp Workshop 把这些文件组织起来,编译成 HtmlHelp 帮助系统。
HtmlHelp Workshop 包含的文件类型主要有以下几种:
( 1 )主题的 HTML 文件:它包含每个主题的内容及相应的图形、图像、超级连接等。
( 2 )图形和多媒体文件:这些文件可包含在 HTML 文件中,包括图像文件( .gif 、 .jpg) 、声音文件
( .wav 、 .midi )、影像文件( .mpeg 、 .avi )等。
( 3 )项目文件( .hhp ): HtmlHelp Workshop 的项目文件用于管理组成帮助文档的所有文件,它包含了帮助系统中所有源文件的名字和位置,以及其它有关帮助系统定义和选项的设置信息。
( 4 )目录文件( .hhc ):目录文件定义显示在帮助系统左侧目录窗格中的内容和结构。它的内容和结构与普通书籍中的章节目录类似。目录文件包含两种类型的条目:标题和主题页。标题类似于书籍中章的概念,它可以与一个主题文件相连接,也可以不与任何主题文件相连。主题页表示具体的主题内容,它必须与一个主题文件或 URL 地址相连接。每个标题下面是相应的主题页,你可以定义多层次的目录结构。当运行编译的 HtmlHelp 文件时,点击目录框中的主题条目,相应的内容将显示在右侧窗格中。
( 5 )索引文件( .hhk ):索引文件定义帮助文档的索引和关键字,它将显示在帮助系统的索引窗格中。每个关键字必须至少与一个主题文件或互连网络地址 (URL) 连接。关键字可以与多个主题文件或 URL 地址连接,当双击该关键字时,帮助系统会弹出一个窗口,显示所有与该关键字相连接的主题,可以从中选择一个主题,主题的内容将显示在右侧窗格中。
HtmlHelp帮助文件制作(三)
建立项目文件 (1)
作者 : 冯惠军
运行 HtmlHelp Workshop 选择 File/New ,系统显示新建文件对话框,如下图所示。
你可以选择建立五种类型的文件,分别为“项目文件”、“文本文件”、“ HTML 文件文件”、“目录文件”和“索引文件”。首先选择新建“项目文件”
( 1 )新建项目向导
当选择新建项目文件时,系统会显示新建项目向导,询问是建立一个新项目还是转换现有的 WinHelp 项目,如下图所示。
如果要建立一个新项目,不要选择转换现有的 WinHelp 项目,点击下一步,然后按照系统提示输入项目文件名及路径。我们以本文为例建立本文的 HtmlHelp 文件,项目文件取名为 how_to_use.hhp ,如图所示。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论