VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 符合Windows 98规范的帮助文件的开发
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:9637, 日期:2001-07-11
符合Windows 98规范的帮助文件的开发
  ·衣秀勇 闫明

  Windows 98的在线帮助系统较Windows 95有较大的改变,它使用的是一个以网络超级文本(HTML)为特征的新型帮助系统,即HTML帮助系统。它是来自Microsoft公司的下一代联机帮助系统,它使用Microsoft Internet Explorer的基础组件来显示帮助内容,它支持HTML、ActiveX、Java、脚本(Java 脚本和Microsoft Visual Basic脚本)以及HTML图像格式(.jpeg、.gif、.png)。HTML帮助文件的扩展名也由Winhelp的.hlp变为.chm。一个典型的HTML帮助系统如图1所示。

  

  图1.一个典型的HTML帮助系统示例

  鉴于以上原因,开发符合Windows 98规范的帮助文件就成为编程人员的迫切需要。Microsoft HTML Help Workshop正是Microsoft公司针对这种新型帮助系统而提供的一个集成开发环境,使用它您能简捷、方便、快速地开发帮助文件。

  1.创建帮助主题文件

  创建一个帮助文件最重要的工作就是创建若干您需要的主题文件。HTML帮助的主题文件是使用超级文本语言(HTML)创建的HTML文件,其扩展名是.htm或.html。

  您可以使用Microsoft HTML Help Workshop创建帮助主题文件,但是笔者认为使用Microsoft Word 97来创建更方便。因为Word 97可以把Word文档(.doc)文件另存为HTML文件;甚至Word 97还包括一个将.doc文件转换为HTML文件的批量文件转换工具。这样您就可以完全按您撰稿拟文的习惯编写Word文档文件,然后再转换成HTML文件,而不必面对HTML复杂的源代码。在Word 97中还可以使用插入(Insert)菜单定义超级链接(HTML Help Workshop中称为正文链接)和书签。

  2.创建帮助项目文件

  2.1 HTML Help Workshop的帮助项目文件

  HTML 帮助项目 (.hhp) 文件是一个纯文本文件,可以使用任何一个字处理软件(如Windows的记事本等)打开并编辑它。HTML帮助项目文件将创建一个帮助文件将所需要的所有元素都联系在一起。这些元素包括帮助主题文件 (.html, .htm)、 图像文件 (.jpeg、.gif、.png)、索引文件 (.hhk)、内容文件 (.hhc)以及其他文件。它也包含关于如何编译一个帮助项目文件及帮助文件界面的信息。最后HTML Help Workshop将所有的这些内容编译成一个单个的帮助文件 (.chm) 。

  2.2 创建帮助项目文件

  进入Microsoft HTML Help Workshop,在File菜单下选择New,在弹出的New对话框中选择Project, HTML Help Workshop将启动New Project向导,跟随向导就可以创建一个帮助项目文件。在其中第三步,Existing Files(已存在的文件)应核选HTML files框(见图2),以保证在第四步中能将使用Word 97制作的HTML文件包括在帮助项目文件中。

  

  图2.New Project向导的第三步

  3. 创建目录(Content)文件

  3.1目录和目录文件

  帮助文件的目录类似于Windows资源管理器的左半部分,其形式如图1中左半部分窗口所示。目录文件是包含一个帮助文件的所有目录,而每个目录又包含条目名称(或条目标题)、跳转到帮助主题的捷径以及每个条目属性的文件,该文件是一个HTML格式的文件。当用户在帮助文件的目录页中单击一个条目标题时,与该条目的标题相链接的HTML文件将被打开。

  3.2 创建目录文件

  创建目录文件有两种方法:

  (1)在HTML Help Workshop中打开项目文件。在File菜单上单击New选项,选择Table of Contents,Workshop将创建一个未命名的目录文件,将其保存。然后在项目文件窗口的Project选项卡中单击“Chang project options(改变项目选项)”按钮打开Options对话框并进入Files选项卡(见图3),在Contents File栏中选择刚保存的目录文件。

  

  图3.Project Options对话框

  (2)如果项目文件中尚没有包括目录文件,那么,在刚创建的项目文件的窗口中单击Contents选项卡,HTML Help Workshop将显示目录文件尚未建立的提示并允许您创建一个新的目录文件或打开一个已存在的目录文件,选择Create a New Contents File(创建一个新的目录文件)(见图4),单击“OK”,HTML Help Workshop创建一个空的目录文件。

  

  图4.目录文件尚未建立对话框

  3.3 向目录文件添加目录

  在Contents选项卡中单击“Insert a heading”按钮,出现“Tables of Contents Entry”对话框(见图5),在该对话框的“Entry title”栏中输入条目标题,并单击“Add”按钮为条目添加链接的帮助主题。

  

  图5.“Tables of Contents Entry”对话框

  单击“Advanced”选项卡,在“Image index”栏中为条目指定图标,如包含其他条目的条目可以用书形图标,而其他条目用问号图标,如图1中所示。

  在Contents选项卡中单击“Insert a Page”按钮;如果在单击“Insert a Page”按钮之前,您选择的条目不包括别的条目且不被别的条目所包括,那么,HTML Help Workshop将询问您是否要创建一个起始条目,否则单击该按钮将会增加一个子条目。

  Contents选项卡中的其他按钮的功能包括:删除一个条目、改变一个条目的位置和级别以及修改目录的属性。

  3.4 让目录文件包含另一个目录文件

  打开目录文件,选择一个条目,鼠标右键单击,在弹出的菜单中单击“Insert File”,在出现的Include File对话框中选择另外一个目录文件(.hhc),在您选择的条目下将出现一条语句:INCLUDE:filename.hhc,其中filename.hhc代表您要包含的带路径的目录文件名。

  4.创建索引(Index)

  4.1 关键字(Keyword)和索引文件

  关键字是用户可能用到的并与一个或多个帮助主题文件关联在一起的字、词或短语。索引文件(.hhk)也是一个HTML文件,它包含若干个关键字。当用户在编译过的帮助文件里单击索引页并选择一个关键字时,帮助文件将显示与这个关键字有关的帮助主题或显示有关帮助主题的标题的列表。

  4.2 创建索引文件

  创建索引文件的方法与创建目录文件完全相同。

  4.3 创建关键字

  打开项目文件,在Index选项卡中单击“Insert a Keyword”按钮,出现“Index Entry”对话框(该对话框与“Tables of Contents Entry”对话框十分相似),在“General” 选项卡的Keyword栏中输入关键字的名称,单击“Add”按钮指定与该关键字相关联的帮助主题文件。

  4.4 设置关键字跳转到另一个关键字

  打开索引文件,选择你需要跳转到另一个关键字的关键字,单击“Edit Selection”按钮,在“Index Entry”对话框中单击“Advance”选项卡(见图6),核选“Destination is Another Keyword(目的地是一个关键字)”框。单击“General” 选项卡,单击“Add”按钮,在“File or URL”框中,输入您需要跳转到的关键字,单击“OK”。

  

  图6.“Index Entry”对话框的Advance选项卡

  5.丰富帮助主题文件的内容

  5.1 查看HTML文件的源代码

  查看HTML文件的方法有两种。

  (1)在HTML Help Workshop的File菜单上单击Open打开一个HTML文件。

  (2)在项目文件的“Project”选项卡或“Contents”选项卡中双击一个HTML文件或先选择一个HTML文件,然后单击“View HTML Source”按钮。

  HTML文件的源代码将显示在项目文件窗口的右半部分。

  5.2 向HTML文件中插入HTML Help ActiveX控件

  5.2.1 HTML Help ActiveX控件简介

  HTML Help ActiveX控件是ActiveX控件的一种,它是针对HTML帮助而设计的。向帮助主题文件中插入HTML Help ActiveX控件使您可以为您的帮助文件添加诸如快捷方式、相关主题、KLinks及Alinks等帮助文件的特征。HTML Help ActiveX控件所提供的功能和界面能在支持ActiveX技术的浏览器中显示。

  5.2.2 插入HTML Help ActiveX控件的一般方法

  (1)在Workshop中打开一HTML文件。

  (2)把光标放在HTML文件BODY部分的您希望ActiveX控件出现的地方。

  (3)在“Tags(标签)”菜单上, 单击 HTML Help Control (HTML帮助控件), 出现HHCTRL向导(见图7)。

  

  图7.HHCTRL向导的第一和

  第一步,在该对话框的“Specify the command(指定命令)”栏中选择一个您将使用的命令名字,在ID name栏输入控件的ID名称;第二步选择控件的显示类型,缺省的显示类型为按钮(Button);接着按屏幕上的提示继续操作即将HTML帮助控件插入HTML文件。向HTML文件中插入HTML Help ActiveX控件都采用这种方法,以下不再赘述。

  5.2.3 向HTML 文件中插入快捷方式(ShortCut)

  使用一个快捷方式可以在帮助文件中打开或初始化一个可执行的程序。例如,用户可以在帮助文件中单击一个按钮或者一个链接(如Windows 98帮助中的单击此处)来启动一个可执行的程序如(Windows的记事本)或对话框(如Windows的添加/删除程序对话框)。插入快捷方式的步骤如下:

  (1)在HHCTRL向导的第一步(见图7)的Specify the command栏中选择“ShortCut”。

  (2)在HHCTRL向导的“ShortCut”对话框(见图8)中输入该快捷方式要启动的程序名称(如Notepad.exe)及参数。

  

  图8.HHCTRL向导的“ShortCut”对话框

  5.2.4 向HTML文件中插入相关主题(Related Topics)

  相关主题是出现在某个主题文件中包含与该主题文件相关的主题文件的链接的HTML Help ActiveX控件。插入相关主题的步骤如下:

  (1)在HHCTRL向导的第一步(见图7)的“Specify the command”栏中选择“Related Topics”。

  (2)在HHCTRL向导的“Related Topics”对话框中输入相关的主题文件的标题和路径(见图9)。

  

  图9.HHCTRL向导的“Related Topics”对话框

  5.2.5 向HTML文件中插入关键字链接(KLinks)

  关键字链接(Keyword Links)简称KLinks,它是在已经加入到帮助主题文件中的关键字的基础上建立的。 当用户在帮助文件中单击KLinks按钮或链接时包含Keyword(与该Klink中的Keyword相同)的主题文件的标题将列表显示。当在帮助主题文件中增加或减少关键字的时候,Klinks也自动地更新。使用Klink也能跳转到另外的帮助文件的主题文件。

  5.2.5.1 创建Klinks

  创建Klinks的步骤如下:

  (1)向HTML文件加入关键字

  ①打开HTML文件,并将光标定位在BODY部分需要加入关键字的地方。

  ②在Edit菜单上单击“Compiler information(编译信息)”,启动Compiler information对话框(见图10),单击Keywords选项卡。在Keywords选项卡中单击“Add”按钮,接着指定关键字;可以指定多个关键字,并用分号将它们分隔开。

  

  图10.编译信息对话框

  (2)向HTML文件插入关键字链接

  向HTML文件插入关键字链接实际上就是向HTML文件插入一个命令为“Keyword Search”的HTML Help ActiveX控件,其方法如5.2.1节所述,其中需要说明的步骤如下:

  ①在HHCTRL向导的第一步(见图7)的“Specify the command”栏中选择“Keyword Search”。

  ②在HHCTRL向导的“Keyword Search”对话框中单击“Add”按钮,输入已在Compiler information对话框定义的关键字(见图11)。

  

  图11.HHCTRL向导的“Keyword Search”对话框

  5.2.5.2 将Klinks关键字包括在索引文件中

  在“Chang project options”对话框的“Files” 选项卡(见图3)中核选“Include Keywords from HTML files(包括HTML文件中的关键字)”框,Klinks关键字将被包括在索引文件中。

  5.2.6 向HTML 文件插入联想链接(ALinks)

  联想链接(Associative Links)简称ALinks,它是在已经加入到帮助主题文件中的Alink Names的基础上建立的。当用户在帮助文件中单击ALinks按钮或链接时包含Alink Name(与该ALink中的Alink Name相同)的主题文件的标题将在一个对话框或弹出菜单中显示。与关键字不同的是帮助文件用户决看不到ALink Name。

  创建Alinks的步骤除以下两点外与创建Klinks的方法完全一致,有区别的两点是:

  (1)在Compiler information对话框中要单击Alink Names选项卡(见图10)。

  (2)在HHCTRL向导的第一步(见图7)的“Specify the command”栏中选择“ALink Search”。

  5.2.7 用文字代替按钮显示HTML Help ActiveX控件

  用以上所述的方法向HTML文件加入HTML Help ActiveX控件之后,HTML Help Workshop在HTML文件中也加入了一个Object标签如下:

  1 <OBJECT id=hhctrl type="application/x-oleobject"

  2 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"

  3 codebase="hhctrl.ocx#Version=4,72,7325,0"

  4 width=100

  5 height=100

  6 >

  7 <PARAM name="Command" value="KLink">

  8 <PARAM name="Button" value="Text:KLinks">

  9 <PARAM name="Item1" value="">

  10 <PARAM name="Item2" value="管理部">

  11 </OBJECT>

  这是一个典型的HHCTRL向导所加入的标签(不包括左面的行号),根据插入HTML Help ActiveX控件时选择的命令不同其中第7行的“value”值有所不同。从第8行可以看出HTML Help ActiveX控件在HTML文件中缺省地以按钮的方式显示,要想以文字代替按钮,只要将“Button”改成“Text”就可以了,这时第8行的“value”值也从原来显示在按钮上变为作为单独的文字来显示HTML Help ActiveX控件,它是不带下划线的,要想改成带下划线的文字只需在第8行和第9行之间加入类似下面的语句:

  <param NAME="fONT" VALUE="VERDANA,8,0x000800,underline">如果您在HHCTRL向导中选择的不是以文字显示在按钮上,那么第8行的“value”值也要修改成“Text:xxx”的形式。

  5.3 向HTML 文件中插入JavaScript(Java脚本)

  5.3.1 用正文链接代替按钮显示HTML Help ActiveX控件

  请注意,本问题与5.2.7有所不同,5.2.7中显示HTML Help ActiveX控件的方式是带下划线的文字,而本问题却是以正文链接来显示HTML Help ActiveX控件,其实是在HTML文件中又加入了JavaScript,实现的方法是:在创建HTML Help ActiveX控件时的HHCTRL向导的第二步(见图7)中选择“Hidden(only used for scripting)[隐藏(仅为脚本使用)]”,创建好HTML Help ActiveX控件之后,在Object标签的下面加入类似以下的标签:

  <A HREF="JavaScript:hhctrl1 .Click()">KLink text link</A>

  下面是一个典型的正文链接标签:

  <A HREF="sd-98-002.html">a text link </A>

  从以上两个标签的比较可以看出新加入的标签确实是一个正文链接(在Word 97中叫超级链接),区别是用一个JavaScript语句代替了链接要跳转到的HTML文件。新加入标签中的“hhctrl1”是在HHCTRL向导的第一步所填入的HTML Help ActiveX控件的“ID Name”。

  5.3.2 向HTML文件插入一个弹出式窗口(pop-up windows)

  弹出式窗口是一个弹出在帮助主题之上的窗口。它的样式能自动调整大小,以恰好容纳它里面所有的文字和图像。弹出式窗口一直保持在屏幕之上直到用户用鼠标单击其内部或外部的任何地方。该窗口的式样如图12所示:

  

  图12.一个弹出式窗口的例子

  要向HTML文件插入一个弹出式窗口,只需在HTML文件中加入类似于下面所列的语句:

  <A HREF=

  JavaScript:hhctrl.TextPopup("This is how a pop-up window looks.","Verdana,10",9,9,-1,-1)>here</A>

  可以看出,以上语句也是一个修改了的正文链接。其中,括号中的文字就是显示在弹出式窗口中的文字,您可以按该语句所示的格式修改成您需要的文字。

  5.4 将链接指向另外帮助文件中的主题文件

  将链接指向另外帮助文件中的主题文件的方法是将链接所指的帮助主题文件改成以下形式:*.chm::/*.htm。其中第一个*号代表另外的帮助文件的文件名,第二个*号表示第一个*号所表示的帮助文件中的帮助主题的文件名。

  6.创建搜索(Search)

  帮助文件的Search选项卡允许用户在帮助文件的所有主题文件中搜索与用户在Search选项