用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.
|