在Authorware中如何调用联机帮助文件?相信这个问题一定有不少Authorware fans非常关心,本文将给出笔者总结的适用于Authorware各种版本的几种方法,以飨读者。
方法一。利用JumpOutReturn函数调用之。
这个方法最简单。我们知道,Windows系统通过Windows目录下的Winhlp32.exe来打开“*.hlp”文件;而在Authorware中,可通过JumpOutReturn函数执行Winhlp32.exe.
JumpOutReturn函数的用法如下:
JumpOutReturn("program" , "document" , "creator type")
通过"program"参数来指定要执行的exe文件名, "document"参数指定要由"program"打开的文档名,"creator type"参数仅仅用于Macintosh系统中。因此,只需在计算图标中输入如下代码,即可调用所需的联机帮助文件:
program:="c:\\windows\\winhlp32.exe"
document:=helpfile
JumpOutReturn(program , document)
其中,helpfile为所要调用的联机帮助文件全名(含路径)。
这种方法适用于Authorware所有的内含JumpOutReturn函数的版本,不失为最简捷、行之有效的一种方法。但由于不支持上下文标识符,因而只能打开“*.hlp”文件,进入帮助主题1,却不能直接切入具体相关帮助主题。
方法二。借助ActiveX控件“Microsoft Common Dialog Control”调用之。
在Authorware中使用ActiveX控件,一般可按下面三步进行:
1. 插入一个ActiveX控件。
2. 设置ActiveX控件的相关属性值。
3. 在计算图标中编写代码。
具体过程如下:(以Authorware4.0为例。)
第一步,在流程线上插入一个ActiveX控件(选择lnsert→Control→ActiveX…)。在弹出的“Select ActiveX Control”对话框里,“Control Description”列表框中,单击选定“Microsoft Common Dialog Control”控件,然后单击“OK”按钮。
这时弹出“ActiveX Control Properties”对话框。对话框里的各种属性中,我们将用到的属性有:“HelpCommand”、 “HelpContext”、 “HelpFile”。
第二步,将“HelpCommand” 属性值设置为1(该属性值用于设置:需要的联机帮助的具体类型,属性值可以是一个常数或一个字符串。如1为打开HelpFile指定的帮助文件,4为调用Windows帮助,11则开启帮助主题索引窗口);
HelpContext 属性包含的是被指定联机帮助文件的上下文标识符,如为有效值,则自动显示那一主题;将“HelpContext” 属性值设置为1;
“HelpFile” 属性值用于设置所要调用的联机帮助文件的路径和文件名,应用程序使用这个文件显示联机帮助或联机文档。将“HelpFile” 属性值设置为:C:\Authorware 4\Authorware 4.hlp.单击“OK”按钮。
现在,流程线上已经出现了一个现场演员Xtra图标“ActiveX…”(Sprite Xtra Icon),将它改名为“Helpdlg”。
第三步,从图标工具栏拖一个计算图标到流程线上,改名为“ShowHelp”, 在其中输入如下代码,即可调用所需的联机帮助文件:
CallSprite(@"Helpdlg", # ShowHelp)
上述代码将运行 WINHLP32.EXE 并显示指定的帮助文件。需要注意的是:使用 ShowHelp 方法前,必须将 CommonDialog 控件的 HelpFile 和 HelpCommand 属性设置为其相应的一个常数或值。否则,Winhlp32.exe 就不能显示帮助文件。
这种方法适用于Authorware4.0及其以上的版本,支持上下文标识符,因而不但能打开“*.hlp”文件,还可以直接调出具体相关帮助主题。那么,在Authorware4.0以下的版本中,能不能直接调出具体相关帮助主题呢?答案是肯定的,请看方法三:
方法三。通过WinApi调用
在Authorware中调用WinApi函数,一般可按下面两步进行:
1. 载入WinApi函数。
2. 在计算图标中编写代码。
具体过程如下:(以Authorware2.0为例。)
第一步,选择Data→Load Function…,在弹出的“Load Function”对话框中,选择C:\Windows\system\winapi.ucd(在Authorware4.0及其以上的版本中使用此法时,则是选择C:\Windows\system\winapi.u32),单击“OK”按钮。
在弹出的‘Custom Functions Referenced in “Winapi.ucd”’对话框中,选择WinHelp函数,单击“Load”按钮,将WinHelp函数载入。
第二步,从图标工具栏拖一个计算图标到流程线上,改名为“ShowHelp”, 在其中输入如下代码,即可调用所需的联机帮助文件:
HWND hWndMain:=WindowHandle
UINT uCommand:=1
LPCSTR lpszHelp:="C:\\Authorware 4\\Authorware 4.hlp"
DWORD dwData:=1
WinHelp( HWND hWndMain, LPCSTR lpszHelp, UINT uCommand, DWORD dwData )
其中,各项参数说明如下:
HWND hWndMain是将在其中显示所需联机帮助文件的窗口句柄。
UINT uCommand相当于方法二中的HelpCommand.
LPCSTR lpszHelp相当于方法二中的HelpFile.
DWORD dwData相当于方法二中的HelpContext.
系统变量说明如下:
WindowHandle是一个系统变量,包含当前Authorware展示窗口的窗口句柄。
HWND hWndMain:=WindowHandle,即指定当前Authorware展示窗口,作为将在其中显示所需联机帮助文件的窗口。
这种方法适用于Authorware的各种版本,支持上下文标识符,不但能打开“*.hlp”文件,还可以直接调出具体相关帮助主题。
以上三种方法各有利弊:方法一最简单,但功能稍弱;方法二很直观,但仅仅适用于Authorware4.0及其以上的版本;方法三适用于Authorware的各种版本,特别适用于熟练用户,但又显得不够直观、易用。读者可以根据实际需要进行选择,为己所用;顺便提一句,方法三中的参数变量名,完全可以改为您喜欢的任何英文字符组合。最后,衷心希望本文能对您有所裨益,并欢迎您与我共同探讨Authorware使用中的问题。