通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>VC编程>>正文 新版上线![旧版]
注:打开慢时请稍等

使用Microsoft Help Workshop

http://www.iyit.net  日期:2006-5-23 12:34:11  来源:网络转载   点击:

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:使用ISAPI过滤器请求用户名和口令字
下一篇:为应用程序增加标准帮助
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

参加讨论】使用Microsoft Help Workshop:    早期的Windows程序设计人员即使编译一个很小的工程文件也要学习很多东西,那时的工具很简陋,即使一个小程序也要编很多代码。那时是DOS的天下,但随着编译程序的改进,DOS已是昔日黄花;但编译帮助文件时还是要用到那些编译程序。实际上我也很反感用DOS程序来建立帮助文件,但是在最新版的Windows95/98编译程序出现以前也只能使用它。即使是第三方厂家专门开发的编译程序有时也要和晦涩的HC31命令行程序打交道,它们在编译过程的可视性方面并没有实质性的改进。
    注释 本节专门讨论了Windows帮助文件 ,如果关心HTML帮助文件的建立技术,请阅读后续章节。
    在引入了Microsoft Help Workshop之后,编译过程有了全面的改观。再也不用依赖于基于DOS的编译程序了,Microsoft Help Workshop在Windows环境下建立并编译帮助工程文件(帮助make文件的另一种叫法)。图15.3是Microsoft Help Workshop典型的显示示例。

    注释 即使使用Microsoft Help Workshop,也还是需要一个生成RTF文件的编辑器。我不知道Microsoft为什么没有改进这一方面,事实就是如此。我还是用Microsoft Word建立RTF文件,在使用MicrosoftHelp Workshop建立帮助文件时,所用的make文件指向这些文件。
    我们看看这个工具如何降低建立过程的复杂性,所建的make文件如程序列表15.2所示(假定已经建立了包含帮助脚本的RTF文件)。第一步是建立一个新的工程文件,用File|New命令实现,系统会显示如下图所示的对话框:

    选择Help Project后,按OK完成。如图15.3所示,已经建成了一个新的帮助工程文件,它初始为一个空白文件,由你填入帮助文件的特性。
    警告 用Microsoft Help Workshop建立的文件与用DOS编译程序建立的文件互不兼容,必须预先做好决定:新的Microsoft Help Workshop对开发者更好用,但只限于32位的操作系统环境;如果还需要对Windows 3.x向下兼容,就只好用DOS编译程序了。
    定义工程的各种选项
    当开始使用一个新的工程文件时,总要先定义一些选项。例如:至少要知道调用帮助文件的目的,要加进哪些版权信息。我一般以内容主题为主目录,所以把它加在帮助文件的开头位置是适宜的。点击Options按钮,系统就会显示Options对话框:

    注意此时已经定义了一些基本选项,这些选项的含义类似于前面章节中make文件描述的内容(你会看到Compression属性页上的选项相当熟悉,它们也是用来压缩帮助文件大小的)。此时,有些人会觉得这个工具并没有什么优越性,特别是当他们的盘上有很多预定义文件时。要指出的是这个对话框使你只需填填表,而不用再一条一条地完成语句。

    Options对话框的“Files”属性页如下图所示:

    你会注意到它的许多选项我们以前都介绍过,修改Help File域可以给帮助文件改名,一般帮助编译器用工程文件名作为帮助文件名的基础;Log File域包含了记录文件的文件名,所幸的是这一项在新的帮助编译器中已不是必需的了。我还是用它来记录编译过程,但现在这是可做可不做的事情。
    在此属性页上的最重要的域是RTF文件清单框,当前帮助文件的工程文件所含的文件都列在这里,点击“Change”按钮显示“Topic Files”对话框,如下图所示:

    从这里可以增加或删除工程文件中FILES小节所列出的主题文件。注意此对话框中的两个复选框,它们很重要,因为它们控制着帮助编译器如何响应RTF文件。第一个选项允许编译器在下一次编译时自动执行对RTF所做的更改,如果未选中该项,编译器就会忽略所做的改动。第二个选项对使用双字节字符集(DBCS)的帮助文件非常重要,它改变了帮助编译器的工作方式,从而保留了特殊字符(该特征主要用于特殊的语言,比如中文等)。
    技巧 进入“Topic Files”对话框的另一途径是单击主窗口的“files”按钮。
    在“Options”菜单的“Files”属性页还有其它一些选项,其中之一就是“ContentsFile”域,如果是新建一个工程文件,Help Workshop在建立内容页时就会自动地填充该项。选中该选项的原因是已经有了一个内容页又想用于当前的工程文件中。当帮助文件超过8MB时要用到TMP Folder选项,它给出了Help Workshop编译时建立临时文件的目录,一般情况下用不到,只是当缺省目录的磁盘空间不足时才用到。最后一个域是“Substitute Path Prefix”,当移动了某些文件又不想改变工程文件中的路径信息时要用到。
    Windows 95/98的帮助文件提供了一些以前没有的功能:全文查找。当选中“帮助主题”对话框的“查找”页就会建立这个数据库,实现对全文的逐字查找。编译过程中“选项”对话框的FTS页中有一个选项用于生成这个文件,由于Windows 95/98总是要生成它,一般都不用选中。编译器建立的GID文件要在发行盘上占用很多空间并增加了编译时间。
    下面有必要学习一下“Macros”属性页,其图像如下图所示:

    从这里定义关键字宏供全文使用。而且当用户查找某一主题时,这些宏会出现在帮助主题对话框的索引页中。
    单击“Macros”属性页的“Add”按钮,系统显示一个含有三个域的“KeywordMacors”对话框,第一个域含有宏名字,第二个域指示宏本身,第三个域指示Help Workshop如何在索引页显示该宏,它用于有多个帮助文件但只想在某个选定文件范围显示关键字的情况。例如:一般把词汇表和程序列表名的缩写集中存放在一个独立的文件中,用JI宏建立一个全文范围的跳转。就用关键字宏的方法来实现,用户根本不会感觉到又加载了其它的文件——因而对用户是透明的。
    注 请谨记,Options对话框的Macros属性页的设置会影响整个帮助文件,而不只是一个窗口。
    前面我们介绍过“*”脚注用于建立标识,Options对话框的Build Tags属性页就该用到它了,前面对这个脚注已经讲得十分透彻,这里不再赘述。中心思想就是给Help Workshop提供帮助文件要包括的建立标识的一个清单。即使RTF文件含有主题,如果不做主题标识,该主题也不能出现在帮助文件中。如果没有填写该属性页,Help Workshop会包括所有RTF文件中的所有主题。
    Options对话框的Fonts页是第一个用于定制帮助文件外观的地方。我一般不用,而是在字处理过程中就完成了。然而,如果用文本编辑器建立了一个RTF文件,再用该选项可以节省时间。Character Set域允许选择字符集,缺省为ANSI,可以选择其它的语言,如阿拉伯语。在WinHelp Dialog Boxes域的Font用于指定缺省字体,单击Change按钮,显示含有三个域的Font对话框。第一个定义字体名称,第二个定义字体大小,第三个定义字符集。在WinHelp Dialog Boxes域的Font下拉列表框用于更改Windows帮助文件的通用字体,允许用一种字体代替另一种字体,Add按钮显示一个Add/Edit Font Mapping对话框,它含有两个组,每个组有三个域。这三个域与前面描述的Font对话框中的相应域完全一致,唯一的问题是如果字处理程序覆盖了这些设置,那么它们就不起作用了——这是使用像Word for Windows这样的产品编辑文件时经常发生的事。
    定义窗口
    定义窗口选项只是建立工程文件的第一个步骤。当这些选项起作用时,需要定义一些窗口来显示数据。一般建立一个叫Main的窗口,它是应用程序用到的主窗口。
    建立窗口很简单,只需单击Main窗口的Windows按钮(图15.3),系统就会显示窗口属性对话框:
    首先应关注的是General属性页。单击Add按钮,系统显示一个带有两个域的Add a New Window对话框,一个域是窗口的名称,另一个域指明窗口类型,Help Workshop可以建立三种类型窗口:过程窗口、引用窗口以及出错消息窗口。过程窗口和引用窗口的差异很小,它们都可以自动调整大小,并且都包含了三个系统按钮。这两类窗口的最大差别是它们在屏幕上的放置位置——后面我们将会讲到如何设置位置信息。出错消息窗口不同于其它两个窗口,它并不包含三个系统按钮,而更像一个对话框。

    返回到General页,Title Bar Text域定义了Windows Help在标题栏里放置什么,它不影响帮助窗口的标题区的实际显示。Comment域是在工程文件中加入注释,我总要在工程文件中加入注释,以帮助随后理解帮助文件的建立过程。该属性页中还有三个属性复选框,Help Workshop可以根据当前情况禁止其中一个或多个复选框,例如:你不能让主窗口自动调整大小,否则当允许某个辅助窗口自动调整大小时,该窗口打开后,用户就无法使其最大化。大部分过程窗口缺省情况下总显示在屏幕的最外层,如果你想让操作你的程序的用户随时都可以看到帮助,这就是实现该功能的一个便利的特性。
    技巧 为了更好地控制窗口显示的外观,我总是关闭Auto-Size Height特性。Position属性页的选项将对帮助窗口提供全面的控制,后面我们会具体介绍该属性页。
    你可能会经常调整Windows Properties对话框的Position属性页,该页如下图所示:

    它比其名称所包含的功能要强一些,该属性页除了能控制帮助窗口的位置及大小外,还提供了很多非常容易使用的特性。
    在这个属性页上有四个域:Left、Top、Width和Height,它们控制窗口的大小和位置。一般第一个帮助窗口放在左上角,大小为640×480或800×600,具体使用哪一个值要随机器的性能而定。这样的窗口看上去可能会小一点,但用户一般都会自行调整。如果程序员将窗口放得离边缘太近,使用时要想在用过新窗口后又返回老窗口时就很不方便。好在还有User's Screen Resolution选项,当用户的显示器档次太低时,用该选项可以防止帮助窗口被全部隐藏起来。 
    该属性页还有一个非常特别之处,起初你可能会不注意,看一下Auto-Size按钮,单击它会显示如下图所示的窗口:

    如果改动了窗口的位置,Left和Top域的值也随之而变;重新改变窗口的大小则会改变Width和Height域的值。这种用图像方式改变窗口的方法减少了重编译帮助文件的次数。
    Windows 95/98定义了许多可以加入帮助文件的缺省按钮,有时可能不会都用到,例如:如果在RTF文件中未定义浏览(+脚注)功能,那么Browser按钮就用不到了。这里显示的Buttons页用于定义帮助窗口中用到的按钮。

    所有辅助的过程窗口和引用窗口都用不到Contents和Index按钮,主窗口中则把它和Print及Back按钮一起作为缺省按钮提供;另一方面,主窗口不用HelpTopics按钮。与所有其它类型的窗口不同,出错信息窗口没有任何限制,可以随心所欲地使用各种按钮。
    技巧 单击No Default Buttons复选框,可以不受Help Workshop在主帮助窗口按钮设置方面的限制。这个复选框仅在主窗口中出现,即不能修改辅助性过程窗口和引用窗口中存在的限制。
    下面介绍Color属性页,它有两个域:Nonscrolling Area Color和Topic AreaColor。每个域都有一个Change按钮。单击它会出现一个调色板,从中选择不同的颜色,帮助窗口的颜色也会随之而变。
    最后一个属性页是Macros属性页,它的外观如下图所示:

    主窗口总是使用工程文件中CONFIG节的宏作为缺省宏,本节中你看到的所有宏都是可自我执行的——这就是CONFIG节的宏都加到主窗口的原因。你希望打开主窗口时让那些宏运行。在主窗口中插入新宏就是靠向工程文件的CONFIG节中加入宏来实现的。向其它窗口中加入宏会改变那些窗口的显示,例如:如果向一个辅助性窗口中加入浏览功能,需要加入一个或多个宏以设置一定的条件,从而忽略在Buttons属性页的Browse按钮上所作的设置。这些辅助性窗口在帮助工程文件中要专门设置CONFIG<窗口名>小节。
    注 添加到Windows Properties对话框的Macros属性页中的宏通常只影响一个窗口,而不是帮助文件中的所有窗口。
    技巧 访问主窗口Macros对话框的另一种方法是单击如图15.2所示的主窗口的Config按钮。
    映射帮助主题
    前面已经陈述过这部分的重要性,如果没有把帮助文件中的主题标识符映射到帮助内容序号上,就不能建立一个对应用程序中控件内容上下文相关的帮助文件。下面我们将讲述如何实现这种功能。
    单击Map按钮,系统显示如下图所示的Map对话框。

    在这里可以定义主题标识符与内容序号间的关系。上图中,我已经定义了一些联系,主题标识符被设置为与帮助内容序号相同的值,紧跟其后的是描述这一项目的注释。
    有许多方法可以直接保持内容序号,对于小的帮助文件我一般是从1开始编号,递增直到帮助中的最后一个主题。大帮助文件比较复杂,可能会碰到重用序号的情况,这时,我一般用3或4位数的序号,前两位数是控件和菜单条在应用程序帮助内容中的位置。例如:菜单项File标为01,菜单项Edit标为02,File|New命令的序号就是0101,因为New命令项通常是File菜单中的第一项。第一个非应用程序主题赋值0001,例如词汇表。应用程序窗体上控件的前两位数应大于最后一个菜单项的序号,我使用Tab序号作为控件标识的后二位数字,原因在于这类控件不像标签或其它的非活动组件,这些非活动组件不会出现在帮助文件中。
    要增加新的映射入口页很容易,单击Add,你会看到如下图所示的Add MapEntry对话框。
    该对话框有三个域:主题标识符、被映射的数值(帮助内容中的序号)及注释。填完后单击OK就在工程文件中加入了一个新的映射。

    正如前文所述,帮助文件中一般都包含HM文件,以减少工作量并提供快捷便利的检查方法。当帮助文件已测试并发行之后,才发现有一些很重要的主题没有覆盖到,再没有什么比这更难办的了。这时单击Include按钮,系统显示Include File对话框,如下图所示:

    这个对话框提供了一个Browse按钮,可以用它调出已经保存在磁盘上的文件。单击后打开标准Open对话框,就像你在其它程序中用过的这种对话框一样操作。
    编译帮助文件
    完成工程文件后,就要进行编译了。如图15.3所示,单击主窗口底部的Saveand Compile按钮。在编译过程中,Help Workshop窗口会最小化,这样你就可以去做别的工作了(因为编译大的帮助文件需要很长时间)。编译完成后,会看到如图15.4所示的对话框:
    你应该注意到这个对话框中立刻显示了一些东西——上图显示了帮助文件中存在一些错误(实际上那些都是注释,但绝大多数情况下还是应该把它们看成是错误)。在帮助文件条目中,我们没有给出HM文件中的所有条目,即:在帮助文件覆盖过程中出现了漏洞。从中我们可以看到,使用HM文件很有帮助——至少会减少丢失帮助主题的机会。
    那么HM文件就很完美了吗?远远没有。看一下表15.2,那里曾经给ID_FORMAT_FONT增加了一个Map条目,这是MFC用在AFXRES.H文件中的标准标识符,不是包含定制控件标识符的RESOURCE.H文件,结果HM文件不能识别它——必须手工增加对标准控件的支持。
 相关文章
最新更新 热点排行 推荐新闻
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
建立安装程序
收 集 文 件
理解各种打包类型
打包应用程序
向应用程序增加基于HTML的帮助
VC++实现对远程计算机屏幕的监视
用VC++6.0的Sockets API实现一个聊天室
多线程技术在VC++串口通信程序中的应用
用VC++制作一个简单的局域网消息发送工
用VC 6.0实现串行通信的三种方法
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息