在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使用中的問題。