【叶帆文章】CHM帮助文件在VB程序中的应用

叶帆
博客专家认证
业界专家认证
2005-12-21 03:34:44
以前很羡慕微软提供的程序,一按窗体上的“?”按钮,然后在相关选项上单击,就可以弹出一个方形框,里面即时显示相关的帮助。并且在不同的窗体按“F1”键,它能弹出相关页面的帮助。觉的很神奇,也一直想做一个,但苦于没有相关的介绍和源码,所以迟迟没有实现,直到有一天,发现公司软件开发到一定程度,必须面对帮助的开发了,所以不得不硬下头皮,一点点研究chm帮助文件的制作和在VB程序中的应用。 现在好了,后来人可以看我做的这个示例和相关介绍文档,一定会非常快速的掌握chm帮助在VB中的应用
【文章链接】http://blog.csdn.net/yefanqiu/archive/2005/12/21/558261.aspx
【源码地址】http://www.bjjr.com.cn/YeFan/SourceCode/yfchmvb.rar
【示例图片】http://blog.csdn.net/images/blog_csdn_net/yefanqiu/23649/o_15.gif
【部分文章】

一.工欲利其事,必先利其器――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文件的树型目录,类似网页文件,格式如下:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->

... ...




...全文
604 41 打赏 收藏 举报
写回复
41 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
laidon 2006-03-05
真不错!
  • 打赏
  • 举报
回复
setsailgo 2006-03-04
up
  • 打赏
  • 举报
回复
truewill 2006-03-04
好文章啊,收藏!!
  • 打赏
  • 举报
回复
fxj331072 2006-03-04
学习
  • 打赏
  • 举报
回复
yingjm 2006-03-04
好东西,谢谢楼主
  • 打赏
  • 举报
回复
笨狗先飞 2006-03-04
mark
  • 打赏
  • 举报
回复
「已注销」 2006-03-04
  • 打赏
  • 举报
回复
IamDeane 2006-03-04
呵呵,谢谢老大的分享
  • 打赏
  • 举报
回复
cxianfa 2006-03-04
谢谢哦
  • 打赏
  • 举报
回复
gzhoney 2006-01-03

  • 打赏
  • 举报
回复
faysky2 2006-01-03
up
  • 打赏
  • 举报
回复
wzzwwz 2006-01-03
真遗憾,叶帆回答我的问题的那个帖子没有了。。。。。。。
  • 打赏
  • 举报
回复
叶帆 2006-01-03
up
  • 打赏
  • 举报
回复
wzzwwz 2005-12-24
叶帆老师,帮忙看看这里的帖子,关于您这篇文章的
http://community.csdn.net/Expert/TopicView.asp?id=4478645
  • 打赏
  • 举报
回复
叶帆 2005-12-23
up
  • 打赏
  • 举报
回复
peterb 2005-12-22
谢谢分享,我也有过在VB中调用CHM帮助的经历,特别是不同窗口,需要显示不同的帮助信息时候,以前不知道如何处理,看了你的文章,又让我偷学到了一个处理方法,还有popup式的帮助,不同错误提示,显示不同的帮助,这些我都可以实现了,谢谢了!
  • 打赏
  • 举报
回复
foreverstar2004 2005-12-22
楼主好人,学习,帮顶!   给分!!!!!!!!
  • 打赏
  • 举报
回复
wxrwan 2005-12-22
up
  • 打赏
  • 举报
回复
wzzwwz 2005-12-22
崇拜+学习
  • 打赏
  • 举报
回复
cool_man 2005-12-22
好东西呀
  • 打赏
  • 举报
回复
加载更多回复(21)
发帖
VB基础类

7617

社区成员

VB 基础类
社区管理员
  • VB基础类社区
加入社区
帖子事件
创建了帖子
2005-12-21 03:34
社区公告
暂无公告