为 Visual Basic 应用程序添加帮助实际上是非常简单的。您所要做的仅仅是设置一个属性,HelpFile(并且,当然还要编写并编译帮助文件),使用户能够在按下 F1 键或从菜单中请求帮助时显示帮助。另一个属性是 HelpContextID,可以通过设置它为应用程序中的任何用户界面元素提供与上下文有关的帮助主题。挂接帮助的过程对 WinHelp 和 HTML 帮助来说本质上是相同的。
App 对象的 HelpFile 属性用于指定应用程序使用的帮助文件的文件名。它必须是有效的 WinHelp (.hlp) 或 HTML 帮助 (.chm) 文件。如果该文件不存在,则会产生错误。
要设置 HelpFile 属性,请按照以下步骤执行:
也可以用编程方式设置 HelpFile 。下面的代码将指定与应用程序的可执行文件在同一目录下的 HTML 帮助文件:
Private Sub Form_Load()
App.HelpFile = App.Path & "\foo.chm"
End Sub
ErrObject 对象也有一个 HelpFile 属性,使您能够为错误消息指定不同的帮助文件。例如,如果有多个应用程序共享相同的错误消息,则可以将错误消息的帮助存入一个帮助文件中,这样就能够在每个应用程序中通过 Err.Helpfile 调用了。
HelpContextID 属性用于将用户界面元素(例如控件、窗体或菜单)与帮助文件中的某个主题链接起来。HelpContextID 属性必须是与 WinHelp (.hlp) 或 HTML (.chm) 文件中的某个主题的 Context ID 匹配的长整数。
例如,可以在 TextBox 的 HelpContextID 属性中输入 10000。当用户选定 TextBox 并按下 F1 键时,Visual Basic 就会在由应用程序的 HelpFile 属性指定的帮助文件中查找 Context ID 为 10000 的主题。如果找到了相应的帮助主题,将打开“帮助”窗口并显示该主题;否则,将产生错误并显示帮助文件的缺省主题。
应当使用唯一的 HelpContextID 来匹配帮助文件中的每一个帮助主题。在某些情况下,如果某些对象共享一个通用的帮助主题,则可能需要为多个对象赋相同的 HelpContextID。
没有必要为窗体中的每个控件输入 HelpContextID。如果用户在 HelpContextID 为 0 (缺省值)的控件上按下 F1 键,Visual Basic 将会为该控件的容器查找有效的 HelpContextID。
要为控件或窗体赋一个 HelpContextID,请按照以下步骤执行:
记录输入的值,以便为相关帮助主题的上下文标识符使用相同的值。
注意 对于 CommonDialog 控件,可能还有其它一些控件,该属性的名称是 HelpContext 而不是 HelpContextID。
要为菜单赋一个 HelpContextID,请按照以下步骤执行:
记录输入的值,以便能够为相关帮助主题的上下文标识符使用相同的值。
HelpContextID 还能够用如下方法以编程方式输入:
Private Sub Form_Load()
Command1.HelpContextID = 12345
MenuHelp.HelpContextID = 23456
Err.HelpContext = 34567
End Sub
提示 如果有多个帮助主题,可能在输入 HelpContextID 之前确定一个编号计划会有所帮助。为应用程序中的每个窗体或主要的元素赋予不同的编号范围,例如,第一个窗体用 1000 – 1999,第二个用 2000 – 2999,依此类推。