所有的应用程序都是TApplication的派生类。TApplication有三种方法调用在线帮助系统。
HelpContext方法可调用WinHelp(关于Winhelp的内容见上节)。它把HelpFile 中的文件名和一个文本代码传递给WinHelp。HelpFile是TApplication的字符串类型的属性,专门用来存放Help文件的。如果HelpFile属性是空字符,HelpContext返回假值,其它情况均返回真值。
下面的例子使用窗体上的一个按钮,当用户单击按钮,屏幕出现DATA.HLP文件中714号主题内容。
procedure TForm2.Bin1Click(Snder : TObject)
begin
Application.HelpFile := DATAHLP;
Application.HelpContext(714);
end;
HelpJump方法可调用WinHelp。它传递HelpFile属性中的文件名和帮助文件的内容字符串(详见11.1节)。内容字符串是帮助文件中唯一辨识帮助主题的字符串。如果HelpFile 属性是空字符,HelpFJump返回假值,其它情况均返回真值。
下面的例子使用了窗体上的一个按钮。当用户单击按钮, 帮助系统调出了 DELPH2.HLP文件中的Default属性。因为Default属性的内容字符串是VclDefaultProperty。
procedure TForm1.Tbn|Click(Sender : TObject)
begin
Application.HelpFile := 'DELPHI.HLP';
Application.HelpJump ('VclDefaultProperty');
end
HelpCommand方法能快速访问WinHelp函数中的各种命令。根据这些命令WinHelp执行不同的动作。表11.2是WinHelp函数的有关信息。
BOOL WinHelp(hwd,LpszHelpFile,fuCommand,dwData)
表11.2 WinHelp的参数及含义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
参数 类型 描 述
───────────────────────────────
hwnd HWND 请求帮助的窗口
LpszHelpFile LPSTK 待显示的帮助文件的文件名
fuCommand UNIT 请求的帮助类型
dwData DWORD 帮助所需的描述表或关键字
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HelpCOmmand向WinHelp传递fuCommand和dwData,fuCommand 是帮助类型可为表11.3中的列值之一。
表11.3 fuCommand的取值及含义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
值 含 义
───────────────────────────────
HELP_LONTEXT 显示dwData指定描述长的帮助信息
HELP_CONTENTS 显示帮助的内容主题
HELP_SET_LONTENTS 如果dwData是Orol04则在一个弹出
式窗口中显示Help主题
HELP_HELP PONHELP 显示Help应用程序的自身帮助,函
数忽略lpszHelpFile和dwData参数
HELP_INDEX 显示帮助文件的索引
HELP_KEY 显示dwData指定的关键字的帮助
HELP_MULTIKEY 显示一个关键字的帮助,该关键字
在一个可变关键字表中
HELP_QUIT 向Help应用程序报告文件不再使用
HELP_SETNDEX 把dwData指定的描述符作为帮助文
件的当前索引
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
dwData参数的含义依赖于fuCommand的设置,如果fuCommand为HELP_CONTEXT,dwData为一个32 位的无符号整数,它包含一个描述表标识号:如果 fuCommand 为 HELP_KEY,dwData 则为一个指定长指针,所指的字符串是帮助的关键字。 如果 fuCommand 为HELPMULLTIKEY,dwData则指向一个MULTIKEYHELP数据结构的长指针。
下面的例子使用了窗体中的按钮。当用户单击按钮帮助系统将显示指定文件的帮助内容主题。
procedure TForm1.Bin1Click(Sender : TObject)
begin
Application.HelpFile := 'MyHlep.HLP'
Application.HelpCommand(HELP_CONTENTS,0);
end;
TApplication部件的OnHelp事件响应帮助事件。 当应用程序接收到一个所需的帮助
时,发生OnHelp事件。使用OnHelp事件可以在需要帮助时定义一些特殊过程。 以下的例子改变了应用程序的帮助文件,AppHelp函数用来处理OnCreate事件。
function TForm1.AppHelp(Command.Word;Data : lontint) : Boolean
begin
if OpenDialog1.Exeeute then
Application HelpFile := OpenDialog1.FileName;
end;
11.2.2 通用对话框中使用帮助系统
Delphi通用对话框中都能显示一个帮助按钮。如果程序显示了对话框中的帮助按钮,应该确保应用程序的帮助文件中有相应的主题。
在通用对话框中使用帮助系统,要做到以下三点:
1. 把对话框的Option|SHOWHelp属性设置成true,这样在程序运行时将出现帮助按钮。 ShowHelp 属性与其部件的名字相关, 例如字体对话框的 ShowHelp 属性称为fdShowHelp。
2. 为对话框部件定义帮助文件。
3. 定义应用程序的文件名。
[1] [2] 下一页
……