`
阿尔萨斯
  • 浏览: 4178796 次
社区版块
存档分类
最新评论

CHM帮助文件在VB程序中的应用

 
阅读更多

CHM帮助文件在VB程序中的应用
――HTML Help Workshop
作 者:叶帆(http://blog.csdn.net/yefanqiu)

一.工欲利其事,必先利其器――CHM制作之工具
1. 首推微软门下的专门工具HTML Help Workshop,它是制作chm帮助文件最权威、功能最全的工具(但不是最快的工具),下载地址:
http://down1.tech.sina.com.cn/download/downContent/2004-03-16/7463.shtml
2. PowerCHM等一些快速制作chm的帮助文件的程序也是很好的选择,配合HTML Help Workshop的使用,更是如虎添翼。
3. HTML Help Workshop一些汉化软件使用起来,好像有些问题,所以还是推荐使用英文原版。

二.寻根探源――CHM源文件之组成
1. 项目文件(.hhp):类似VB程序中的vbp文件,其内容格式类似ini文件,主要包括如下几部分:
a). [OPTIONS] 基本参数设置:
Compiled file=YFHelp.chm //编译后的chm文件名
Contents file=YFHelp.hhc //目录文件名
Index file=YFHelp.hhk //索引文件名
Title=叶帆帮助 //chm窗口标题
Default Window=main //主窗口,与[WINDOWS]字段下的窗体对应
b). [WINDOWS] 帮助窗口设置:
main="叶帆帮助","YFHelp.hhc","YFHelp.hhk","HTML/YF1.htm","Html/YF1.htm",,,,,0x20,180,0x104E,[100,100,900,700],,,,0,0,0,0
主要包括如下内容:窗口名称、目录文件、索引文件、默认主页、首先页、窗口大小和初始位置。
c). [FILES] 帮助组成文件:
HTML/YF1.htm //针对hhp文件存放位置的相对路径
HTML/YF2.htm
HTML/YF3.htm
d). [TEXT POPUPS] popup弹出帮助的源文件设置:
YFPopups.txt // popup弹出帮助的源文件路径
e). [MAP]映射文件设置:
#include YFheader.h //类似C语言的头文件,主要是一些常数的宏定义
f). [ALIAS] 别名设置:
IDH_HELP1=Html/YF1.htm // IDH_HELP1在YFheader.h有定义
IDH_HELP2=Html/YF2.htm // IDH_HELP2在YFheader.h有定义
IDH_HELP3=Html/YF3.htm // IDH_HELP3在YFheader.h有定义
2.目录文件(.hhc)
该文件定义chm文件的树型目录,类似网页文件,格式如下:



<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->





    ? LI/UL控制树的层次

  • ? 目录树的选项名
    ? 链接的文件名

















3.索引文件(.hhk)
chm帮助文件,索引选项中索引字段的设定,格式与hhc文件类似。



<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->


    ? LI/UL控制树的层次

  • ? 索引名
    ? 链接的文件名












4.头文件(.h)
给C语言的头文件别无二致,主要包含一些常数的宏定义
#define IDH_HELP1 1001 ? 对应VB控件的HelpContextID属性
#define IDH_HELP2 1002
#define IDH_HELP3 1003
5.popup文件(.txt)
这是一个很有用的文件,popup帮助弹出的内容就在这里定义,对这个文件同样可以包含一个头文件(.h),它包含常数的宏定义,这样在txt文件中就可以写宏变量了,不过我还是直接建议写相应常数。
.topic 30001 ? 对应VB控件的WhatsThisHelpID属性
哈哈,这是第一条Popup帮助,叶帆的Blog:http://blog.csdn.net/yefanqiu
.topic 30002
哈哈,这是第二条Popup帮助,叶帆的软件:API浏览器、VB源码之友...
.topic 30003
哈哈,这是第三条Popup帮助,叶帆开源:XP窗体界面、串口通信示例...
.topic 30004
哈哈,这是第四条Popup帮助,叶帆的开发团队:Sky Walker(天行者)

三.循序渐进――CHM源文件之制作
头文件、popup文件、索引文件就不用介绍怎么制作了(搞开发的,大家都是聪明人),主要介绍hhp和hhc文件的制作。(此外用到的一些网页文件,请用FrontPage或其它工具软件制作,这里不作介绍)。
1.目录文件(.hhc)的制作
首先先用工具软件做好相关的网页(比如我做了三个简单的网页:YF1.htm、YF2.htm、YF3.htm),然后打开HTML Help Workshop,选择“File”菜单中的“New”选项,在对话框中选择“Table of Contents”(如图1),按“OK”按钮开始新建目录文件。


然后在hhc编辑窗口,添加上已做好的三个网页YF1.htm、YF2.htm、YF3.htm,并添加所需的目录,并调整好相应的目录树型结构,如图2所示:


最后按保存,完成hhc文件的编制。
2.项目文件(.hhp)的制作
第一步:选择“File”菜单中的“New”选项,在对话框中选择“Project”(如图3),按“OK”按钮开始新建项目文件。


第二步:输入hhp文件的路径和文件名(如图4)。


第三步:选择工程文件包含的选项(如图5)。


第四步:添加刚才生成的目录hhc文件(如图6)。


第五步:添加索引hhk文件(如图7)。


第六步:确认完毕后,进入主编辑界面,单击工具条上的添加窗口按钮,添加主窗口(如图8)。


第七步:设置主窗口的标题(如图9)。


第八步:设置初始窗口位置和大小(如图10),其它选项请根据需要,自行设定。


第九步:添加主体文件(如图11)。


第十步:添加接口信息,把头文件、别名信息、Popup文件分别添加(如图12)。


第十一步:最关键一步,单击编译,生成CHM文件,这是编译后的结果,如图13所示:

四.牛刀小试――CHM文件在VB中的应用
1.在VB中新建两个窗体,测试上下文帮助的窗体命名为frmContextTest,测试弹出式帮助的窗体命名为frmPopuTest。
2.设置窗体必要的属性及添加必要代码
a). frmContextTest窗体
WhatsThisButton = False WhatsThisHelp = False 窗体上添加三个控件:text1、List1、Check1,分别设置属性HelpContextID的值为1001、1002、1003(要和头文件中的宏定义一致)。
添加如下代码:
Option Explicit
'测试弹出式帮助
Private Sub Command2_Click()
frmPopupTest.Show
End Sub
'功能描述:在窗体激活事件里设置帮助
Private Sub Form_Activate()
App.HelpFile = App.Path & "/YFHelp.chm"
End Sub
b). frmPopuTest窗体
WhatsThisButton =True WhatsThisHelp = True 窗体上添加六个控件:text1、text2、Combo1、Command1、Label1、Label2,对前四个控件,分别设置属性HelpContextID的值为30001、30002、30003、3004(要和popup文件中的索引号一致)
添加如下代码:
Option Explicit
'在激活事件里,设置帮助文件
Private Sub Form_Activate()
App.HelpFile = App.Path & "/YFhelp.chm::YFpopups.txt"
End Sub
‘初始化
Private Sub Form_Load()
Text2.FontSize = 1
Text2.Width = 1
Text2.Height = 1
End Sub
'单击弹出帮助信息
Private Sub Label2_Click()
Text2.SetFocus
SendKeys "{F1}"
End Sub
3.运行VB,测试一下我们的劳动成果
a).上下文帮助测试(如图14)


b).弹出式帮助测试(如图15)

在Windows XP / VB 6.0环境下测试成功。
源代码下载地址:http://www.bjjr.com.cn/YeFan/SourceCode/yfchmvb.rar




<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
分享到:
评论

相关推荐

    调用chm/html格式帮助文件的VB示例

    这个实例主要是演示在你编写好的应用程序中调用chm/html格式的帮助文档,也就是点击按钮直接打开CHM帮助文件,或是直接打开帮...

    调用CHM帮助文件的几种方法(含全部源码)

    一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。...当我们制作好帮助文件后,就需要在程序的适当位置编写代码进行调用,本文将讨论几种在程序中调用CHM帮助文件的方法。

    在VB中调用CHM 帮助的几种方法

    一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。...当我们制作好帮助文件后,就需要在程序的适当位置编写代码进行调用,本文将讨论几种在程序中调用CHM帮助文件的方法

    SQL CLR扩展DLL 在MS-SQL Server 环境中实现完整的文件、目录操作

    CLR扩展DLL 在MS-SQL Server 环境中实现文件、目录操作,程序使用VS2010编写,语言Vb.net。运行起来飞一般的感觉! 包含文件、目录操作的常用20多个函数,支持网络访问文件。 我经过5~6年的使用,实现用SQL管理复杂...

    VBScript 语言参考中文手册CHM

    未包含在 VBA 中的 VBScript 特性 未包含在 Visual Basic 中的 VBScript 特性列表:应用程序编辑。 Microsoft Scripting 运行时特性 VBScript 中最新的 Scripting 运行时特性列表。 语言元素 说明 Abs 函数 ...

    VB API 经典教程合集

    B.VBAPI函数参考手册.chm C.VB经典编程集合.exe &lt;br&gt;D.Vb与Windows API讲座 E.VB 程序大揭秘.pdf ................. &lt;br&gt;文件为一个独立压缩包,解开后即可使用里面的文件。 需要声明的是,...

    RPC程序设计指南CHM

    创建接口定义文件、应用程序配置文件; 利用MIDL编译器对上述文件进行编译,来生成C语言格式的服务端程序模块、客户端程序模块、以及共用的头文件; 编写客户端应用程序来管理同服务端的连接; 编写包含实际远端操作...

    软件加密技术内幕 chm

    软件加密技术内幕 要花时间看 ...8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究 8.9 我们的工具 8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编 附录B 在Visual Basic中使用汇编

    MicrosoftHTMLHelpWorkshopV1.3汉化版.rar

    首先我们给将来的 chm 文件的窗口标题条指定与 chm 内容相符的文字(如果不指定,则软件默认为“帮助”):按[Project]项目选项中左边第三个按钮“新建/编辑窗口显示风格”,在弹出的窗口类型中随便输入一个名字...

    加密解密.技术内幕.chm

    code传奇8.3 VB编译奥秘8.4 VB与COM8.5 VB可执行程序结构研究8.6 VB程序事件解读8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究8.9 我们的工具8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编附录B 在...

    rar压缩软件.rar

    RAR 是一个让你在命令行模式中管理压缩文件的控制台应用。RAR 提供压缩、加 密、数据恢复和许多其它此手册中描述的其它功能。 RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持ZIP 和其他格 式。即使...

    TeeChart8+_ActiveX 破解版(带源码)

    导致程序无法正常使用,不得已花钱在pudn下载了一个,注册后完美运行,里面包含了TeeChartx8Tutorials.chm帮助文件,使用户能够很好的了解控件各类的使用方法,VB6,VC6.0, VS2010验证通过) TeeChart Pro ActiveX是...

    软件加密技术内幕

    chm格式,目录如下。 第1章 PE文件格式深入研究 ...8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究 8.9 我们的工具 8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编 附录B 在Visual Basic中使用汇编

    易语言程序免安装版下载

    修改BUG:在IDE中打开源代码文件(.e)后,高级选择夹组件不能正确切换到“现行子夹”属性设定的子夹。 9. 修改BUG:矢量动画支持库中的“矢量编辑框”组件在光标位于组件右下角时按右光标键进入下一行会导致显示...

    Visual Graph开发

    5.web目录下是互联网应用中使用的cab文件打包批处理程序 6.lib目录下是若干例子图库 7.demo目录下是若干图形文件的示例 二、发布Visual Graph ActiveX时必需要包含的文件 1 : bin\vg.dll ActiveX控件 2 : bin\...

    华报智能报表工具

    2、组成 ReportAll报表开发工具软件包主要包括以下各部分: ReportAll报表设计器:一个标准的Win32应用程序,用于对报表的文档进行编辑和调试,编辑的结果可保存到符合XML格式的文本文件中。 ReportAll报表控件/...

    短信接口(手机).rar

    NkiDll.chm 短消息开发接口应用帮助文件 \DLL \NkiDll.h 短消息开发接口头文件 \NkiDll.Lib 短消息开发接口库文件 \NkiDll.Dll 短消息开发接口动态连接库(主要文件) \DemoNkiDll.exe 测试短消息接口的工具 \...

Global site tag (gtag.js) - Google Analytics