Welcome

首页 / 软件开发 / Delphi / 第十一章-Delphi应用程序的应用(二)(1)

第十一章-Delphi应用程序的应用(二)(1)2007-05-07所有的应用程序都是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;