HtmlHelp调用chm帮助文档使用

htmlhelp.exe下载下来后按照提示安装,大家都会,,我就不再多说了。安装成功后,你可以在开始菜单了看到HTML HELP WORKSHOP一项,下面有两个快捷方式一个是HTML HELP IMAGE EDITOR是编辑图片的,另一个就是HTML HELP WORKSHOP就是我们需要的程序了。单击运行是个英文的界面,不过里面的项目很少,不会英文的也不用担心,大部分菜单都有一看就明白的快捷工具条。下面就跟着我一步步制作一个简单的帮助系统吧:1.建立新的工程在工具栏上点"new"按钮,在弹出的对话框中选择"project",按"ok"会出现一个向导,照着向导进行就可完成。向导第一页意思为可以把老式的帮助文件(.rtf,.cnt等等)转换为html help workshop的格式。如果你不想让自己以前的功夫白费,就选中"CONVERT WINHELP PROJECT"复选框,把你以前的工程加进来,否则直接进入下一步,为你将要建的工程指定路径和文件名,完成工作进入下一步,向导会询问你有无html格式文档的目录文件(*.hhc)、html格式文档的索引文件(*.hhk)和*.htm文件需要加入工程,作为新建的工程目录文件和索引文件现在是没有的,你可以在此将html文件加入,不加等会加也行。我们直接进入下一步完成新建的工程文件,看到如图一所示的界面。2.添加html文件你如果在新建工程时已加上就可以跳过这步。在图示界面的project选项卡中点击"add/remove topic files",出现topic files 窗口,用"add"向工程添加你已编好的html文件,用"remove"删除不需要的文件。完成工作后点"save all project files and complied"进行编译,点工具栏上的"view compile"就可以看到一个没有目录和索引的帮助了。

3.添加帮助的目录文件在图示的选项卡中点"content",在弹出的对话框中选"GREAT A NEW CONTENT FILE",指定文件名并保存。点左侧的"INSERT A HEADING",插入一个主题,取个适当的名字,将属于这个主题的HTML问件依次用"INSERT A PAGE"插入到当前主题下,用"↓"、"↑"、"←"、"→"调整各个页面在同一主题下的次序和相互间的层次结构。4.添加帮助的关键字索引使用索引可以根据关键字迅速地定位到需要使用的页面。在图示的选项卡中点"INDEX",在弹出的对话框中选"GREAT A NEW INDEX FILE",指定文件名并保存。用"INSERT A KEYWORD"插入选定的关键字,并与对应的HTML页面相关连,一个关键字可以对应一个页面,也可对应多个页面。该界面下同样可以调整各个关键字之间的次序和层次关系,并且可以对关键字排序和察看源文件,为用户提供方便。5.定制窗口当以上几步都完成后,一个帮助文件就基本完成了。但是运行一看,帮助窗口没有标题,而且工具栏上的一些快捷工具你想要的没有,不要的却有一些。也没有书签和搜索两个选项卡,还是不太满意,不过别急下面就做。在"PROJECT"选项卡界面中有个"ADD/MODIFY WINDOW DEFINITIONS"的按钮就是为你准备着这步工作的。单击就会出现一个如图二所示的界面,有很多选项卡,待我一一道来。a. General有个WINDOW TYPE的编辑框,你点ADD就会出现个对话框让你输入窗口的名字,你为你的帮助窗口取个名字,以后有用。在下面的TITLE BAR TEXT的编辑框中填上你的帮助窗口的标题。b. ButtonsWINDOW TYPE中应该显示你刚才为你的窗口区的名字,下面的许多个复选框就是帮助文件运行时在工具栏上显示的那一排按钮,你可以在你需要的按钮前打勾选中。c. Position在此你可以设定帮助窗口首次出现的位置和大小,一般可以使用默认值。d. Files在此你可以设定你帮助窗口的目录文件,索引文件,缺省页面等等。e. Navigation Pane当你选中Window With Navigation Pane, Topic Pane ,And Button这个复选框时,下面就会出现多个复选框,不选中,你的帮助程序就不会出现工具栏和目录、索引等的选项卡。选中它,在它下面有个Tabs的帧,你可以看到Default tab,有个下拉列表框决定帮助文件运行时首次定位在目录、索引还是搜索。在列表框下面有三个复选框,SearchTab选中就在帮助中会出现搜索选项卡,Advanced是进一步搜索的,Favorites Tab就是书签选项卡,可以对你常用的帮助页面进行快速的定位。f. Styles 和Extended Styles对你的帮助文件的窗口类型进行定义,可以用缺省的。6.制作帮助文件的搜索在上步添加了搜索选项卡后,如果不建立全文搜索,这个选项卡就不起作用。你可以切换到Project选项卡,点左侧工具栏"Change Project Options"按钮,出现"Option"对话框,在其中的选项卡"Compiler"下选中"Compiler full-text search information"前的复选框就可以了。7.映射帮助文件到你的程序的构件一个好的程序当用户在使用遇到困难时,按下F1快捷键就会出现与之相关的帮助主题,在程序中的处理下面再讲,在做帮助文件时,需要怎么做呢?首先需要添加两个文件一个为文本文件(.txt),另一个是头文件(.h),指定文件名和路径生成后,在文本文件中的内容格式如下:[topic] [topic ID] [help topic]topic 就是你在第3步制作的帮助主题,topic ID是你的程序控件在帮助中的唯一标识符,后面的help topic可以忽略,那是在帮助模式下你点下该控件出现的说明。示范如下:帮助一 IDH_FORM 第一个窗口帮助二 IDH_EDITBOX在头文件中的内容格式如下:#define IDH_FORM 1#define IDH_EDITBOX 2其中define表示宏定义,IDH_FORM就是你在文本中定义的topic ID,数字1就是你的帮助文件Compile时所映射的唯一标识符,在程序中使用。写好上面的两个文件后,就可以加进工程了,在图一的界面上有个"HtmlHelp API Information"按钮,单击出现如下的对话框(图三):共有三个选项卡分别是"Map","Alias","Text Pop-ups"在"Map"选项卡下有"Header file"和"Remove"两个按钮,点"Header file"把刚才写好的那个头文件加入,"Remove"是用来删除头文件用的,点"Alias"选项卡会在右边出现四个按钮分别是"Add", "Edit","Remove","Include",点"Add"会出现如下所示的对话框(图四),在第一个编辑框内填上上面定义的topic ID,第二个时个列表框,可以选择topic ID对应的页面文件,第三个编辑框是注释,可以不填。填完后点"Text Pop-ups",会在右边出现三个按钮分别是"Header file"," Text file","Remove",分别点""Header file"," Text file"将上面写好的文本文件和头文件加进去。就大功告成了。当你全部完成以上工作时,保存编译后在你的工程目录下出现个以chm结尾的文件,你的帮助就已完成了一大半,此时该帮助文件可以独立运行了。如何将你的帮助加入你的程序中呢,请接着向下看:二、与vb、vc、pb、vfp程序集成在程序中调用chm类型的帮助要使用htmlhelp这个API函数,它已被集成到hhctrl.ocx中,当你安装了html help workshop后,就已安装这个控件。1.在vb中的调用方法a. 帮助主题映射在菜单条的工程一项最底部有个工程的属性,点击出现如下的对话框(图五)在帮助文件名那一栏中填上你刚刚精心制作好的帮助文件文件名,对于每个控件而言都有个属性为HelpContextID,就在属性窗口中可以看到,属性窗口可以按"F4"调出,在其中填上上文定义的数字标识符1、2、3等等,当你的程序运行时,按下"F1"就可以得到相关的帮助了。当然你还可以在程序开始运行时,使用下面的语句app.helpfile="hh.chm"设定帮助文件路径,推荐采用此方法。b.在vb中调用这个函数的声明如下Public Declare Function htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal h"Remove","Include",点"Add"会出现如下所示的对话框(图四),在第一个编辑框内填上上面定义的topic ID,第二个时个列表框,可以选择topic ID对应的页面文件,第三个编辑框是注释,可以不填。填完后点"Text Pop-ups",会在右边出现三个按钮分别是"Header file"," Text file","Remove",分别点""Header file"," Text file"将上面写好的文本文件和头文件加进去。就大功告成了。当你全部完成以上工作时,保存编译后在你的工程目录下出现个以chm结尾的文件,你的帮助就已完成了一大半,此时该帮助文件可以独立运行了。如何将你的帮助加入你的程序中呢,请接着向下看:二、与vb、vc、pb、vfp程序集成在程序中调用chm类型的帮助要使用htmlhelp这个API函数,它已被集成到hhctrl.ocx中,当你安装了html help workshop后,就已安装这个控件。1.在vb中的调用方法a. 帮助主题映射在菜单条的工程一项最底部有个工程的属性,点击出现如下的对话框(图五)在帮助文件名那一栏中填上你刚刚精心制作好的帮助文件文件名,对于每个控件而言都有个属性为HelpContextID,就在属性窗口中可以看到,属性窗口可以按"F4"调出,在其中填上上文定义的数字标识符1、2、3等等,当你的程序运行时,按下"F1"就可以得到相关的帮助了。当然你还可以在程序开始运行时,使用下面的语句app.helpfile="hh.chm"设定帮助文件路径,推荐采用此方法。b.在vb中调用这个函数的声明如下Public Declare Function htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long放在模块声明中。需要用到的常数为Public Const HH_DISPLAY_INDEX=2Public Const HH_DISPLAY_TOC =1Public Const HH_DISPLAY_TOPIC =0你可以在菜单帮助下加上如下的程序:dim aa as longaa = htmlhelp(me.hwnd, "hh.chm::/01.htm>hh", HH_DISPLAY_TOPIC, 0)或者dim aa as longaa = htmlhelp(me.hwnd, "hh.chm::/01.htm", HH_DISPLAY_TOC, 0)其中hh.chm是你生成的chm文件,01.htm是你chm文件中包含的html文件的名字,hh是你的帮助的窗口的名字程序开始运行时就显示目录的选项卡,如果想让程序一开始就显示索引选项卡你可以用下面的程序办到:Dim aa As Longaa = htmlhelp(Me.hWnd, "hh.chm", HH_DISPLAY_INDEX, 0)2.在vc中的调用方法在vc中的函数原型为HWND HtmlHelp(HWND hwndCaller,LPCSTR pszFile,UINT uCommand,DWORD dwData) ;调用时需要包含Htmlhelp.lib 和 Htmlhelp.h这两个文件,默认路径是C:\Program Files\HTML Help Workshop\Lib和C:\Program Files\HTML Help Workshop\Include,你可以把这两个文件拷到vc可以辨认的目录下在vc程序里加上#include "htmlhelp.h",并在菜单project下的setting中的link下加入Htmlhelp.lib你在你的程序中加入下列语句之一就可以调用该帮助文件了:HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm::/01.htm>hh",HH_DISPLAY_TOPIC,NULL) ;HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm::/01.htm",HH_DISPLAY_TOC,NULL);HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm",HH_DISPLAY_INDEX,(DWORD)"帮助一") ;3、在 Visual Foxpro 中调用 HtmlHelp 帮助文件Visual Foxpro 6.0 支持 WinHelp 和 HtmlHelp ,在 Visual Foxpro 中调用 HtmlHelp 帮助文件也需要声明 HTML 帮助文件的路径和名称,用以下命令:Set Help To hh.chm然后 , 在需要调用 HTML 帮助文件的地方输入下列语句:Help即可调用 Set Help To 指定的帮助文件。4、在 Power Builder 中调用 HtmlHelp 帮助文件在 Power Builder 中调用 HtmlHelp 帮助文件需要用 HtmlHelp API 函数 HtmlHelpA(),这个函数驻留在 HtmlHelp ActiveX 控件 Hhctrl.ocx 中。因此,首先要声明全局或局部外部函数,语法如下:Function Long HtmlHelpA (long hwnd ,string lpHelpFile , long wCommand,string dwData) Library "hhctrl.ocx"其中 , 参数 hwnd 是窗口的句柄, lpHelpFile 是 HTML 帮助文件的路径和名称, wCommand 表明执行的操作, dwData 是 wCommand 参数所需要的值。然后, 在需要调用HTML 帮助文件的地方输入下列语句 , 语法如下:htmlhelpA( hwnd, "hh.chm", 0, 0)

版权声明:本文为博主原创文章,未经博主允许不得转载。

忍耐力较诸脑力,尤胜一筹。

HtmlHelp调用chm帮助文档使用

相关文章:

你感兴趣的文章:

标签云: