Welcome

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

第十一章-Delphi应用程序的应用(二)(2)2007-05-07TApplication部件的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. 定义应用程序的文件名。

11.3 Delphi帮助提示(Hint)的应用

使用Delphi集成开发环境时,用户常把鼠标置于程序部件上,如加速按钮,对齐按钮等。鼠标在部件上停留超过一定时间后,Delphi将会显示一个弹出窗口, 里面有部件名称和概述。

这就是Delphi的帮助提示。Delphi的应用程序可通过定义ShowHint 属性实现帮助提示。

11.3.1 帮助提示的显示

ShowHint属性可应用于所有的控件和应用程序部件,控件的ShowHint 属性含义与程序的稍有不同。控件的ShowHint属性决定某一控件是否显示帮助提示,如果ShowHint 是真值,当用户把鼠标置于控件之上超过一定时间后,控件将出现帮助提示。如果是假值,则不出现提示。控件是否显示还决定于控件的ParentShowHind属性。如果 ParentShowHint是真值,控件的父类的ShowHint属性将决定控件是否显示帮助提示。 假如有一个分组框和一个检查框,分组框是检查框的父件。表11.3说明了子件与父件的 ShowHint,ParentShowHint属性设置对子件帮助提示的影响。

表11.3 Hint属性设置对帮助提示的影响

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

分组框ShowHint 检查框ParentShowHint 检查框ShowHint 帮助提示

─────────────────────────────────────

T或F F T 显示

T T F 显示

F T T 不显示

T或F F F 不显示

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

T表示真值,F表示假值

把控件的ShowHint属性设置成真值,系统自动将ParentShowHint设置成假值。应用程序部件的ShowHint属性可以决定整个程序的帮助提示是否有效。如果应用程序的ShowHint 属性为真,程序中各部件的帮助提示才有效, 但是否显示还要取决于部件的SHowHint, ParentShowHint及其父件的ShowHint属性,如果应用程序的ShowHint属性为假值,无论程序部件的属性如何设置,程序中所有帮助提示都无效。

Hint属性是显示在帮助提示框中的文本字符。Hint属性应用于所有控件,包括应用程序部件菜单部件。因为应用程序部件不是可视部件,因此不能在Object Inspector 窗口中定义Hint属性。但可以在定义部件的Hint属性时同时定义应用程序部件的Hint 属性,定义时只需用“|"字符会分开,例如:

Edit.Hint := "Name |Enter Name in the edit box"

等价于

Edit.Hint := Name;

Application.Hint := Enter Name in the edit box

应用程序的Hint属性可用在OnHint事件。

如果只定义了一个值,Delphi把这个值同时赋给部件和应用程序部件的Hint属性。 如果应用程序的ShowHint属性为假值,所有的帮助提示将不显示, 但可以利用程序部件的Hint属性显示其它提示,如状态条等。

当某一部件的SHowHint属性为真, 但又没有定义Hint 属性, 如果此时文件定义了Hint属性,则此部件将使用文件的Hint值。

11.3.2 OnHint事件

当用户把鼠标放在某一部件,而该部件的Hint 值不为空值,此时发生OnHint事件。利用OnHint事件可以执行一些特殊的操作。

最常用是利用OnHint事件显示状态条的标题,状态条是用面板来实现的。下面举例说明。

这个例子使用了面板部件,菜单,一个编辑框。菜单可随意设计, 但需记住每个菜单项的Hint 值。 另外, 定义编辑框的Hint 值, 把面板置于窗体底部( 将Align 属性置于dBotton)把面板标题置于左端(将Alignment属性置于taleftJustify)。

OnHint 事件是应用程序部件的事件,而应用程序部件是非可视部件,不能使用Object Inspector窗体定义事件,必须编写自己的OnHint事件。