分享

Delphi 利用超文本HTML文件制作系统帮助文档

 aaie_ 2014-01-08

超文本是目前常见的文件格式之一,许多产品的说明书、使用帮助也都采用了这种格式。Delphi处理html文件有很多方式,也很方便稍加改进就可以编写出跟调用HLP文件一样灵活的帮助系统。

 

1、 制作超文本帮助文件

        制作超文本的工具很多(Dreamweaver等),制作的超文本文件有如下要求:

1>、超文本帮助文件由一个目录html文件和多个html文件组成;

2>、一个主题对应一个html文件(Topic.HTM),每个主题下的关键字对应HTML文件中的一个标签(#Item)。这样在我们的可以很快找到需要的帮助内容。

3>、其次除非把帮助文件放在Web服务器上,否则超文本帮助文件不应该包括必须由Web服务器处理的内容。

 

2、直接调用默认浏览器显示超文本帮助

        如果客户的操作系统安装了浏览器,就可以通过Windows的ShellExecute函数调用操作系统默认的浏览器显示超文本帮助。ShellExecute(Application.Handle,nil,URL,nil,nil,SW_SHOWNORMAL);

 

3、使用TWebBrowser控件显示超文本帮助

        Internet组件面板上有一个TWebBrowser控件,使用这个控件可以很容易处理html文件,还可以调用显示你自己的主页。通过TWebBrowser控件显示超文本只需调用Navigate过程。这个过程用于显示URL参数指定的超文本文件,URL参数可以是远程的Web服务器地址,也可以是包括完整路径的超文本文件名。

procedure Navigate(const URL: WideString); overload;

 

4、通过功能键F1调用超文本帮助文件

        Delphi开发的应用程序使用HLP帮助文件时,只需要设置HelpContext特性就可以响应功能键F1,那么使用超文本帮助文件时是否可以继续使用HelpContext特性响应功能键F1呢?,答案时肯定的但是需要做一些工作响应应用程序控件(Application)的OnHelp事件。

property OnHelp: THelpEvent;

//THelpEvent = function (Command: Word; Data: Longint; var CallHelp: Boolean): Boolean of object;

 

        当拥有输入焦点的HelpContext特性不等于0时,当用户按下了功能键F1或调用了HelpContext、HelpJump或HelpCommand函数时将触发OnHelp事件。其中Command参数返回命令的类型,Data参数返回HelpContext特性值,CallHelp参数用于设定是否显示帮助。

        OnHelp事件的原型中可以看出只要在OnHelp事件中读出Data参数,就可以知道用户在哪个控件上按下了功能键F1,需要帮助的主题代码是什么。因此只要响应OnHelp事件,根据Data参数通过TWebBrowser控件显示出指定的超文本帮助就可以了。

 注意:在使用Form的OnHelp时,必须将Form的属性: BorderIcons| BiHelp改为TRUE才可以,

 

5、如果你使用Delphi3.0或Delphi4.0,按如下方法安装TWebBrowser控件


        在“Components”菜单中,调用“Import ActiveX Control”功能,在Registered Controls (注册控件)列表中选择“Microsoft Internet Controls(Version1.1)”,下方的提示栏中显示出其路径为C:\PWin98\System\SHDOCVW.DLL,在Class Names(类型列表)中列出了可注册的三个控件: TWebBrowser_V1、TWebBrowser和TShellFolderViewOC,分别为IE3浏览器控件、IE4浏览器控件和 “Microsoft外壳文件夹查看路由器”控件。单击Install进行安装。安装完成后,在“ActiveX” 控件栏中,将增加三个控件,分别为TWebBrowser_V1、TWebBrowser和TshellFolderViewOC。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多