第二十四章:创建 .DBF - 样式帮助

.DBF - 样式帮助制作起来非常简单,它使用的是标准的 Visual FoxPro 表,因此可以很容易地移植到其他 Visual FoxPro 平台上。如果您需要一个简单的提供“帮助”的方案,或者您正开发一个可在不同平台上运行的应用程序,或者想保留一个向后兼容的帮助文件,您可以为用户提供 .DBF - 样式帮助。

本章内容要点:

设计 .DBF - 样式帮助

.DBF - 样式帮助文件,或称帮助表,是在“.DBF 帮助”窗口中显示的自由表。使用这种帮助,用户可以:

Visual FoxPro 包含了一个 .DBF - 样式帮助文件示例 Ttrade.dbf,它在 Visual Studio …\Samples\Vfp98\Tastrade\Help 目录中。下面将使用 Ttrade.DBF 示例来描述如何设计 .DBF - 样式帮助以及如何在 .DBF - 样式帮助中定位。

查看 .DBF - 样式帮助文件示例

若要查看 Ttrade.DBF 示例帮助文件

.DBF - 样式“帮助”窗口有两种模式:“主题”和“细节”。“主题”模式显示帮助文件中所有主题的列表。需要注意的是 .DBF “帮助”窗口的字体是“MS Sans Serif”,并且不能更改字体。

“主题”模式下的 .DBF - 样式“帮助”窗口

双击一个主题时,该主题的内容用“细节”模式显示。

“细节”模式下的 .DBF “帮助”窗口

帮助表的要求

帮助表最多可容纳 32,767 条记录,至少要包含两个字段。该表可以有一个可选的字段(首字段),供上下文相关使用。下面的例子显示了一个典型的帮助表的设置。

“浏览”模式中的 TTRADE 表

对字段名称没有要求。字段的类型,按顺序是:

数值型 该字段可选,包含上下文相关帮助使用的帮助上下文 ID。

字符型 这是主题名称,显示在“主题”模式下的“帮助”窗口中。

备注型 该字段存储“细节”模式下“帮助”窗口中显示的信息。

除这些要求之外,可以随意添加任意多个附加字段。

了解 Ttrade.DBF

Ttrade.DBF 是一个 .DBF - 样式帮助文件的小例子。您可以模仿 Ttrade.DBF 的样式设计帮助文件创建自己的帮助文件。因为帮助文件是一个表,通过创建一个新表或者复制并更改现有表可以创建自己的帮助文件。

要查看或编辑 Ttrade.DBF 表,只要象其他任何表一样打开并浏览它即可。如果在这之前已经运行了 SET HELP TO TTRAEDE.DBF 命令,在打开 Ttrade.DBF 表之前应先使用 SET HELP OFF 命令。

TTRADE 主题

TTRADE 中有几种类型的主题,包括:

在自己的帮助文件中要考虑这些类型以及其他类型。

TTRADE 细节

当用户在“主题”模式中选定一个主题时,“帮助”窗口显示名为“Details”的备注字段中的信息。

TTRADE 交叉引用

“请参阅”交叉引用出现在大多数帮助主题“细节”信息的末尾。这些引用自动显示在“请参阅”框中并可直接链接到相关的主题上。

若要创建一个“请参阅”交叉引用

  1. 在“Details”备注字段末尾键入“请参阅”,其后跟冒号及可选的空格。

  2. 在同一行上键入用逗号分隔的所需主题的列表。

  3. 键入回车表示列表的结束。

“请参阅”列表不区分大小写,并且 Visual FoxPro 会删掉每一个引用主题前后的空格。例如,“Overview”主题的交叉引用如下图所示。

“Overview”主题的“Details”备注字段内容。

提示 在主题末尾“请参阅”一节的上下各加一条横线,与主题内容明显地分隔开。

当在“请参阅”框中定位主题时,Visual FoxPro 总是试着用包含该主题或以同样文本串开始的帮助中的第一个主题与用户选择的主题相匹配。如果 Visual FoxPro 没有发现相同的主题,将在状态栏中显示“没有关于 topicname 的帮助”。

使用 .DBF - 样式帮助

如果在使用 HELP 命令的“帮助”菜单中包含一个“目录”命令,那么用户就可以方便地访问帮助信息。当用户选择“目录”命令时,“帮助”窗口以“主题”方式显示,用户可以在列表中滚动,找到想要的主题或输入一个字母,选择以该字母打头的第一个主题。在选择主题后,可有三种方法显示与该主题有关的信息:

定制 .DBF - 样式帮助

在应用程序代码中,您必须指定使用哪个帮助文件,显示哪个主题、何时显示,以及其他一些可选设置。如果包含上下文相关帮助,用户就可以从应用程序的对话框和菜单命令中,非常方便地得到“帮助”信息。

指定一个帮助表

可以通过发出命令 SET HELP TO filename 来指定准备使用的帮助表。若当前已有一个打开的帮助表,则此命令会先关闭它,然后再打开 filename 做为新的帮助表。

在进行程序设计时,一般在初始化代码中把当前使用的帮助文件的名称保存在一个变量中,然后指定帮助文件名称,如下例所示:

cUserHlp = SET("HELP", 1)
SET HELP TO MYHELP.DBF

这样,在应用程序退出时,就可以恢复原来的帮助文件:

SET HELP TO (cUserHlp)

在“帮助”窗口中显示主题

在指定帮助表之后,可用下列方法指定要显示哪个主题:

用主题名称选择主题

如果要用主题名称选择主题,可使用 HELP Topic 命令。使用这个命令时,Visual FoxPro 将搜索“帮助”表,查找主题字段与 Topic 相匹配的记录,这种查找是不区分大小写的。

当 Visual FoxPro 找到匹配记录时,就会在“帮助”窗口中以细节方式显示“Details”备注字段的内容。如果 Visual FoxPro 不能找到匹配记录,则在“帮助主题”对话框的列表中显示所有主题,并突出显示最接近的匹配结果。

允许“上下文相关帮助”

可以将应用程序设计为两种方法都可以获得的“上下文相关帮助”:

保留 F1

当用户在应用程序中按 F1 键时,Visual FoxPro 会显示一个上下文相关的“帮助”主题。为了做到这一点,可在“帮助”表中为主题指定一个“帮助相关 ID”,并把此值赋给表单或控件的 HelpContextID 属性。当表单或控件获得焦点并且用户按 F1 键时,Visual FoxPro 就会显示该主题。

注释 在默认情况下 F1 键是用作“上下文相关帮助”激活键的。因为这是一个公认的“帮助”标准,因此并不推荐您另外定义这个键。

在表单中包含“帮助”按钮

如果在表单中添加“帮助”按钮,用户可以很方便地访问“帮助”。如果您的用户是个新手,那么更应该考虑添加一个“帮助”按钮。

若要创建一个“上下文相关帮助”主题

  1. 在“帮助”表记录的第一个字段中,输入一个数值型的值。

  2. 填写记录的“Topic”和“Details”字段。

现在可以开始把该帮助主题反映到表单中了。在设计“上下文相关帮助”时,较好的方法是将“帮助”按钮、表单及其中的对象与同一个帮助主题相关联。

若要设置“上下文相关帮助”并添加一个“帮助”按钮

  1. 在表单的 Init 事件中,将表单中所有对象的 HelpContextID 属性都设置为该帮助主题的 ID 值。例如,如果该值为 7,可用如下命令:
    THIS.SetAll("HelpContextID", 7)
    
  2. 在表单中添加一个命令按钮。

  3. 把命令按钮的 Caption 属性设置为“帮助”。

  4. 在命令按钮的 Click 事件中,添加下面的命令:
    HELP ID THIS.HelpContextID
    

    提示 可把“帮助”按钮保存为一个类,这样很方便地就可以把它添加到任何表单中。在“表单设计器”内,从“文件”菜单中选择“另存为类”。有关把对象保存成类的详细内容,请参阅第九章“创建表单”

控制“帮助”窗口的位置

若要指定“帮助”的显示位置,首先必须用 DEFINE WINDOW 命令创建一个窗口。可在初始化代码中使用此命令,指定窗口的大小和位置,然后通过激活或显示代码来显示窗口。

例如,下列命令定义一个名为 test 的窗口,并在该窗口中显示当前帮助表:

DEFINE WINDOW test FROM 1,1 TO 35,60 SYSTEM 
ACTIVATE WINDOW test 
HELP IN WINDOW test 

根据应用程序的需要设计帮助信息

因为可以添加任何数目的字段到一个“帮助”表中,而且可以使用任一逻辑表达式来选择“帮助”主题。因此,可以充分发挥您的想象力来创建自己的“帮助”系统。

例如,可以: