VB里实现帮助文件速成

2016-02-19 18:28 4 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

----带有帮助文件的应用程序无论对程序员还是用户都是不同凡响的,它能节省印刷大量用户手册的开支,对程序员编辑修改和用户手册的复制保存都极为方便。帮助文件的另一个很有前景的应用是单独作为带有图文信息的电子图书发布。
  
  ----在此对帮助文件的编制及如何在程序中编程调用作一详尽介绍。首先介绍第一部分,帮助文件的编写。
  
  ----帮助文件的编写步骤:
  
  先编写存有所有帮助信息的帮助源文件RTF文件。
  
  编写帮助项目文件HPJ文件。
  
  对HPJ文件编译,最后生成HLP文件。
  帮助源文件RTF文件的编写
  ----帮助源文件是存有所有帮助信息的,这是一种RTF(RichTextFormat)文件,帮助文件象一本书,由目录及一个个章节组成,各章节之间的跳转是由定义的热点来完成。现在举一具体例子(由目录等五条信息组成)详细说明。
  
  ----原始信息由五个章节组成:目录、概述、说明、程序、安装。象前面每一节的标题(“目录”,“概述”,“说明”,“程序”,“安装”)在RTF文件中必须以特有的脚注(即$)明确指定。对每一节还须指定其跳转名(脚注是#,跳转名不能是汉字),以便标识,在这我们给每一节分别取名为:contents,description,explanation,programming,setup,对每一节还可指定其搜索关键字(脚注是K),关键字可以是一个或多个,汉字和英文均可。
  
  ----具体操作如下:进入MicrosoftWord中文版,选择:文件/新建,先输入第一节的内容:输入第一节的标题:“目录”,将光标移到“目录”的前面,选择系统菜单的“插入”,选“脚注和尾注”,选“脚注”和“自定义标记”,输入:$符号,这时文档下方出现脚注编辑窗口,光标也自动落在文档下方的脚注编辑窗口中,在光标处接着输入这一节的标题:“目录”,有时看不到文档下方的脚注窗口,这只要将系统菜单中“视图”的“脚注”选上。
  
  ----下面定义这一节的跳转名,将光标移到“目录”的前面,选择系统菜单的“插入”,选“脚注和尾注”,选“脚注”和“自定义标记”,输入:#符号,这时文档下方出现脚注编辑窗口,光标也自动落在文档下方的脚注编辑窗口中,在光标处接着输入这一节的跳转名:“contents”(有时看不到文档下方的脚注窗口,这只要将系统菜单中“视图”的“脚注”选上)定义这一节的搜索关健字。将光标移到“目录”的前面,选择系统菜单的“插入”,选“脚注和尾注”,选“脚注”和“自定义标记”,输入:k符号,这时文档下方出现脚注编辑窗口,光标也自动落在文档下方的脚注编辑窗口中,在光标处接着输入这一节的搜索关健字,搜索关健字可以是中文或英文,一个或多个,中间用分号(即;)隔开,这儿我们输入:目录;目次;contents。
  
  ----最后定义这一节的顺序号。顺序号相当于一本书中各章节的页码。将光标移到“目录”的前面,选择系统菜单的“插入”,选“脚注和尾注”,选“脚注”和“自定义标记”,输入: 符号,这时文档下方出现脚注编辑窗口,光标也自动落在文档下方的脚注编辑窗口中,在光标处接着输入这一节顺序号,如:0001,0002,0003等。这儿我们输入:0001.
  
  ----这样,第一节的脚注标记全部作完。
  
  ----第二节的脚注标记作法一样。(第一节和第二节要有分页符,选择系统菜单的“插入”,选“分隔符”,“分页符”)。
  
  ----在帮助文件中,当用户在按了绿色的跳转文本,就应该跳转到对应的章节,如何定义一个热点跳转呢?因为我们已经定义了第一节的跳转名,只要将跳转文本与要跳转到的那一节的跳转名联系起来,跳转文本在RTF文件中是带双下划线的文本,以上例操作如下:
  
  ----选择系统菜单上的“格式”/“字体”,选择“字体”/“下划线”,选“双线”,然后开始输入热点文本,这儿我们输入“概述”,输入完热点文本,清除双下划线格式,操作:选择系统菜单上的“格式”/“字体”,选择“字体”/“下划线”,选“无”,清除双下划线格式后,紧接着选择隐藏文本格式,输入跳转目的地的跳转名,操作:选择系统菜单上的“格式”/“字体”,选择“字体”/“效果”,选“隐藏”,输入跳转目的地的跳转名,这儿输入“description”,输入完清除隐藏文本格式。清除隐藏文本格式的操作:选择系统菜单上的“格式”/“字体”,选择“字体”/“效果”,将“隐藏”复选框除去。
  
  ----如何定义热点弹出说明。它与以上热点跳转文本一样,只不过它是带单下划线的文本。操作如下:选择字符的单下划线格式,输入弹出式热点文本,如上例输入的是“单下划线的指定说明热点”,操作如下:选择系统菜单上的“格式”/“字体”,选择“字体”/“下划线”,选“单线”,然后开始输入热点文本,这儿我们输入“单下划线的指定说明热点”,输入完热点文本,清除单下划线格式,紧接着选择隐藏文本格式,输入跳转目的地的跳转名,这儿是弹出窗口的跳转名:这儿输入“my_pop_up”,输入完清除隐藏文本格式。弹出窗口一节要与其它章节用分页符分开。只要指定跳转名即可。
  
  ----我们经常看到的“参阅”、“seealso”弹出窗口就是这样作出来的。
  
  ----如何对图形指定热点跳转。在RTF文件中使用图形,可以用语句:{bmc图形文件名},bmc表示图形放在中间,bml表示图形放在左边,bmr表示图形放在右边,图形文件可以是一般的BMP位图和SHG热点跳转图形文件。
  
  ----如用户在图形某处按动时,会弹出一个说明窗口。而热点图形.shg文件由.bmp位图文件通过工具软件HotspotEditor编辑而来。HotspotEditor是随VisualBasic(在VB的HC目录下)和VisualFoxpro(在VFP的HELPCOMP目录下)发布的。执行文件名是SHED.EXE。操作:运行SHED.EXE,选File/Open,装入要用到的位图文件。这儿用一人头形位图man.bmp,在图形上拖动,产生一个个热点,双击任一热点区域,出现一对话框,只要在ContextString处输入要跳转或弹出目的地的跳转名。热点类型Type处选取Jump跳转式或Popup弹出式。热点区域边框属性Attribute选取可见Visible或不可见Invisible。在这个例子中ContextString输入eye_popup,Type选取Popup,Attribute选取Invisible(隐去热点区域的边线).
  
  ----以d:winwordman.shg文件名存盘,退出SHED.EXE。
  
  ----如何产生固定的不滚动标题区域,不滚动区域,在显示特长的信息时很有用,可这样操作:用光标将要不滚动的区域全选上,点取系统菜单上的“格式”/“段落”,选“正文排列”,将“与下段同页”选上。
  
  ----就这样,帮助信息源文件所有的工作都已作完,在WORD中将文件以RTF格式存盘。下面进入帮助项目文件HPJ的编辑。
  
  建立帮助项目文件(.HPJ文件)
  以一实例说明,语句分号右边是注解
  [OPTIONS];这一节的内容并非必须
  COMPRESS=0;指示HLP文件不压缩
  ERRORLOG=my.err;编译错误存于此文件
  REPORT=Yes;编译时报告
  CONTENTS=contents;目录跳转名
  COPYRIGHT=;版权信息
  DEFFONT=,10,0;字体大小
  BMROOT=.;指示BMP文件的存放位置,
  在同一目录下用空白或“.”否则BMROOT=Drive:Path
  HLP=.dxchlp.hlp;表明生成的帮助文件名
  [FILES];唯一重要的一节
  .Dxchlp.rtf;所用RTF文件名(包括路径)
  ----[WINDOWS];语法Main="主窗口的标题",(窗口水平位置,垂直位置,宽度,高度),状态,背景颜色(R,G,B),非滚动区域背景颜色(R,G,B),是否总是浮在其它窗口上面(0为False,1为True)例:
  
  ----Main=“主窗口标题”,(512,10,512,1000),0,(255,251,240),(192,192,192),0
  
  ----;语法:Second=;语法同上面主窗口,例:
  
  ----Second=“次级窗口标题”,(10,10,500,1000),0,(254,251,240),(191,192,192),1
  
  ----[CONFIG]
  
  ----BrowseButtons();加一向前向后按钮
  
  ----其实用不着写这么多,最省事的帮助项目文件是这样只有一条语句,其它全是缺省值:
  
  ----[FILES];节名称
  
  ----Myhelp.rtf;所用RTF文件名(包括路径,如c:winwordMyhelp.rtf)
  
  ----以上hpj文件用任何编辑器编辑后以HPJ文件存盘。
  
  对帮助项目文件HPJ进行编译,形成HLP文件
  ----编译要用编译工具HC.EXE,在VB的HC目录下有HC.EXE,在VFP的HELPCOMP目录下有HC31.EXE和HC35.EXE,任选一个使用。操作:HC文件名,或HC31文件等,如:HC31Myhelp.hpj
  
  
  --------------------------------------------------------------------------------
  
  
  ----现在介绍第二部分,对帮助文件编程。
  
  ----帮助文件的最终目的是要应用到自己程序中。现以最常用的三种开发工具VB,VFP,DELPHI分别举一最简单例子。
  
  VB
  ----进入VB,选File/NewProject,出现一空白窗体Form1,加一个通用对话框CommondDialog1到Form1,点取MenuEditor,设置一菜单,一级菜单有二项:(Caption分别为:)File,Help,而File的下一级菜单Exit,Help的下一级菜单为Contents,KeyWordsSearch,About,对应的Name属性分别为:mnuFile,mnuHelp,mnuExit,mnuContents,mnuSearch,mnuAbou。假定帮助文件是D:WINWORDDXCHLP.HLP。
  
  ----程序代码如下:
  
  PrivateSubForm_Load()
  CommonDialog1.HelpFile="d:winworddxchlp.hlp"
  EndSub
  
  PrivateSubmnuContents_Click()
  WithCommonDialog1
  .HelpCommand=cdlHelpContents'cdlHelpContents是显示目录的命令
  .ShowHelp
  EndWith
  EndSub
  
  PrivateSubmnuSearch_Click()
  WithCommonDialog1
  .HelpCommand=cdlHelpKey'cdlHelpKey是显示关健字搜索的命令
  .ShowHelp
  EndWith
  EndSub
  
  PrivateSubmnuAbout_Click()
  aboutform.Show1'以模态显示"关于"窗口
  EndSub
  
  PrivateSubmnuExit_Click()
  End
  EndSub
  
  以上可用调用动态联结库的方法,代码如下:
  (1)模块文件:
  GlobalConstHELP_CONTENTS=&H3&
  GlobalConstHELP_KEY=&H101
  
  DeclareFunctionWinHelpLib"user32"Alias"WinHelpA"
  (ByValhwndAsLong,ByVallpHelpFileAsString,ByVal
  wCommandAsLong,ByValdwDataAsLong)AsLong'
  必须同一行;为WIN95,NT
  'DeclareFunctionWinHelpLib"User"(ByValhwndAs
  Integer,ByVallpHelpFileAsString,ByValwCommandAs
  Integer,dwDataAsAny)AsInteger'必须同一行;为WIN3.X
  (2)窗体文件
  PrivateSubForm_Load()
  App.HelpFile="d:winworddxchlp.hlp"
  EndSub
  
  PrivateSubmnuContents_Click()
  i=WinHelp(Form1.hwnd,App.HelpFile,HELP_CONTENTS,0)
  EndSub
  
  PrivateSubmnuKeySearch_Click()
  i=WinHelp(Form1.hwnd,App.HelpFile,HELP_KEY,0)
  EndSub->

来源:https://www.tulaoshi.com/n/20160219/1617814.html

延伸阅读
前一阵有人在VB专家门诊中提出一个问题,如何在VB中实现打开图像文件的预览,虽然给出了300分的高分,回答着却寥寥无几。我在参照了DELPHI的源代码后在VB中实现了其部分图像预览功能,在中文WINDOWS98 SE下测试通过。 从MSDN中可以知道调用文件打开通用对话框需调用API 函数GetOpenFileName,原形如下: BOOL GetOpenFileName( LP...
标签: autocad教程
在学习中遇到问题可以到论坛发贴交流: http://bbs.jcwcn.com/forum-117-1.html 一些基本知识,有必要先了解,避免后来的诸多问题。 1、在CAD学习中,与其去书店花几十元买诸如《宝典》、《专家》、一类的CAD书,不如看CAD帮助文件好些,不花分钱。 2、夸张点说,只要耐心把帮助文件看完,你就会发现一些标榜为CAD专家的著作水分是...
VB提供一种很有用的数据类型集合(Collection)。 她的工作原理类似与C里的链表,可以很方便的实现插入,删除。并且在使用了Key之后,检索 操作也变得非常简单。但其编程上的方便却带来了效率上的急剧下降(尤其在大数据量时会 让你无法忍受)。以下举两个例子来讨论一下怎样把集合和数组结合使用,使程序在方便和效 率之间达到一种平衡。 ...
在微软的很多软件(如WORD)的工具栏中,都采用一种浮动按纽,即正常情况下按纽的图标呈灰色,当鼠标移动到某一按纽时,该按纽自动向上凸起且变为彩色,并在按纽的右下方有一标签提示该按纽的功能,鼠标移开后又自动还原,这种按纽用VB实现时,方法如下: 1.先用绘图工具作出按纽图标后存盘(如1.bmp),再用图象处理软件将该图标转换为灰度...
微软的VisualBasic确实是个好东西,编写应用程序快捷高效。但是入门容易,想玩转它可不简单。我个人学VB就深有体会:一个人在VB的殿堂里摸索是何等的辛苦啊!有时为了一个特技、一句代码甚至一个变量要反复调试运行几十遍,也未必能通过,真恨不得一枪崩了VB。所以,我连这一点点小技巧都不敢独品,拿出来与大家共享,也算抛砖引玉,引出更多、...

经验教程

475

收藏

29
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部