HHP格式解析!
[OPTIONS]
Compatibility=1.1 or later'版本
Compiled file=VBP_HtmlHelpMaker.chm'编译后的文件名称.路径相对与本工程的具体路径.
Contents file=Table of Contents.hhc '内容表文件.hhc
Default Window=Main'默认窗体
Default topic=VBP_HtmlHelpMaker.htm'默认主题.即打开一个 chm后首先显示的页面.
Display compile progress=No '编译时是否显示进度
Index file=Index.hhk '索引文件路径.具体路径相对与当前工程路径.
Language=0x804 中文(中国)
[WINDOWS]
Main="VBP_HtmlHelpMaker","Table of Contents.hhc","Index.hhk","VBP_HtmlHelpMaker.htm","VBP_HtmlHelpMaker.htm", "D:/Project/CoderHelper/HtmlHelpWizard/Help/_homepage.htm","公司主页","D:/Project/CoderHelper/HtmlHelpWizard/Help/_produce.htm","产品支持",0x2120,,0xc000e,[271,372,593,566],,,,,,,0
'Main窗体的属性.
[FILES]'此字段中放置所有需要的HTML文件.路径相对与当前工程路径
VBP_HtmlHelpMaker.htm
VBP_HtmlHelpMaker/HtmlHelpMaker.htm
[ALIAS]'常量映射.每个商量对应一个 HTML文件.具体常量指定的常数由Map字段的内容指定.
HP_VBP_HtmlHelpMaker=VBP_HtmlHelpMaker.htm
HP_HtmlHelpMaker=VBP_HtmlHelpMaker/HtmlHelpMaker.htm
HP_HtmlHelpMaker_chHtmlHelpMaker=VBP_HtmlHelpMaker/HtmlHelpMaker/chHtmlHelpMaker.htm
[MAP]'指定包含文件.
#include include.h
[INFOTYPES]其它.在此不做详细介绍.
.h文件说明.
#DEFINE HP_VBP_HTMLHELPMAKER 1000
#DEFINE HP_HTMLHELPMAKER 1001
#DEFINE HP_HTMLHELPMAKER_CHHTMLHELPMAKER 1002
#DEFINE HP_HTMLHELPMAKER_CHHTMLHELPMAKER_SHOW 1003
#DEFINE HP_HTMLHELPMAKER_FRMCONFIRM 1004
#DEFINE HP_HTMLHELPMAKER_FRMCONFIRM_TXTCONST 1005
这些常量对应常数.当使用HtmlHelp函数调用时,你可以指定该 常数.将为你打开常量所对应的HTML文件.关于HtmlHelp使用方法请参见htmlhelp.chm::/helpref.htm 的介绍.
在VB中.HelpContextID 属性的值应该是以上常数值.在此对象上按F1后,将自动打开程序帮助文件CHM中的HTML页面.此页面是由以上值来映射的.
内容表文件是采用HTML格式来标识的.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="Window Styles" value="0x227">
</OBJECT>
<UL>'缩进标识.每拥有一个缩进标识.将使得内容表在编译后显示时向后缩进.
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="介绍">'每个条目的名称.
<param name="Local" value="VBP_HtmlHelpMaker.htm">'该名称所对应的文件.相对与当前工程路径.
<param name="ImageNumber" value="2">'图标样式代码.
</OBJEcT>
'一般来说,一个树结构开始时由一个对象是不用缩进标志.在其子项前必须有一个缩进标志
'每个条目以<Object>为标记对!
......
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="上一步(?">
<param name="Local" value="VBP_HtmlHelpMaker/HtmlHelpMaker/frmWizard/cmdNav.htm">
<param name="ImageNumber" value="11">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="完成按钮">
<param name="Local" value="VBP_HtmlHelpMaker/HtmlHelpMaker/frmConfirm/cmdOK.htm">
</OBJECT>
</UL>
</BODY></HTML>
索引文件格式
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<UL>'注意,在索引文件中不建议使用缩进标志.如果使用.将会带来很多查看上的麻烦.大家可以看到.在微软的帮助CHM中.基本是没有在索引中使用缩进方式的.但是部分MSDN的CHM中使用了该.这是当内容量大而复杂.一些对象不属于一个体系但是名称又相同.因此就出现了子项!
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="HtmlHelpMaker">'名称.
<param name="Local" value="VBP_HtmlHelpMaker/HtmlHelpMaker.htm">'对应的文件.
<param name="WindowName" value="Main">'打开的窗口名称.
</OBJECT>
<UL>