用DEPHI开发应用系统,帮助文件少不了,如何在应用系统中显示帮助文件,笔者归纳出两种方法.
方法一:用WINDOWS的API函数WINHELP显示后缀为HLP的帮助文件.窗体效果如图1.
创建含有如下控件的窗体:
控件 CAPTION
FORM1 用DEPHI显示帮助文件
BUTTON1 帮助文件目录
BUTTON2 查找关键字
(2)
程序清单:
procedure TForm1.Button1Click(Sender: TObject);
begin
winhelp(form1.clienthandle,c:\media.hlp,help_contents,0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
winhelp(form1.clienthandle,c:\media.hlp,help_key,0);
end;
图1
方法二:用IE控件显示后缀为HTM的帮助文件. 显示效果如图2.
(1)加入IE浏览器控件:在“Components”菜单中选择“Import ActiveX Control”功能,在“Registered Control”列表框中选择“Microsoft Internet Control(Version1.1)”,单击“Install”按钮进行安装。此时就在ActiveX控件组中增加了TwebBrowser_V1、TwebBrowser、TshellFolderViewOC三个控件。
TwebBrowser(IE 4.0控件)的常用方法:
navigate(url,flags,targetframename,postdata,heads);调用指定的页面。
url:指定页面的URL。
Flags:word,设置为0。
targetframename:WideString,打开页面所在的框。为空串时,打开当前的框。
Postdata:boolean,是否允许发送数据。
Heads:WideString,发送URL请求的头部数据。
其它属性就不一一描述了,需要时,可查看SHDocVw_TLB.Pas文件。
创建含有如下控件的窗体:
控件 CAPTION
FORM1 制作帮助文件
WebBrowser1
(3)
程序清单:
unit disphelp;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, SHDocVw_TLB;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedu disphelp(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.disphelp(Sender: TObject);
var targetframename,postdata,heads,flags:olevariant;
URL:widestring;
begin
targetframename:=;
postdata:=false;
heads:=;
flags:=0;
url:=c:\win98\readme.htm#;
begin
webbrowser1.navigate(url,flags,targetframename,postdata,heads);
end;
end;
end.