所有的應用程序都是TApplication的派生類。TApplication有三種方法調用在線幫助系統。
HelpContext方法可調用WinHelp(關於Winhelp的內容見上節)。它把HelpFile 中的文件名和一個文本代碼傳遞給WinHelp。HelpFile是TApplication的字符串類型的屬性,專門用來存放Help文件的。如果HelpFile屬性是空字符,HelpContext返回假值,其它情況均返回真值。
下面的例子使用窗體上的一個按鈕,當用戶單擊按鈕,屏幕出現DATA.HLP文件中714號主題內容。
procedure TForm2.Bin1Click(Snder : TObject)
begin
Application.HelpFile := DATAHLP;
Application.HelpContext(714);
end;
HelpJump方法可調用WinHelp。它傳遞HelpFile屬性中的文件名和幫助文件的內容字符串(詳見11.1節)。內容字符串是幫助文件中唯一辨識幫助主題的字符串。如果HelpFile 屬性是空字符,HelpFJump返回假值,其它情況均返回真值。
下面的例子使用了窗體上的一個按鈕。當用戶單擊按鈕, 幫助系統調出了 DELPH2.HLP文件中的Default屬性。因為Default屬性的內容字符串是VclDefaultProperty。
procedure TForm1.Tbn|Click(Sender : TObject)
begin
Application.HelpFile := 'DELPHI.HLP';
Application.HelpJump ('VclDefaultProperty');
end
HelpCommand方法能快速訪問WinHelp函數中的各種命令。根據這些命令WinHelp執行不同的動作。表11.2是WinHelp函數的有關信息。
BOOL WinHelp(hwd,LpszHelpFile,fuCommand,dwData)
表11.2 WinHelp的參數及含義
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
參數 類型 描 述
───────────────────────────────
hwnd HWND 請求幫助的窗口
LpszHelpFile LPSTK 待顯示的幫助文件的文件名
fuCommand UNIT 請求的幫助類型
dwData DWORD 幫助所需的描述表或關鍵字
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HelpCOmmand向WinHelp傳遞fuCommand和dwData,fuCommand 是幫助類型可為表11.3中的列值之一。
表11.3 fuCommand的取值及含義
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
值 含 義
───────────────────────────────
HELP_LONTEXT 顯示dwData指定描述長的幫助信息
HELP_CONTENTS 顯示幫助的內容主題
HELP_SET_LONTENTS 如果dwData是Orol04則在一個彈出
式窗口中顯示Help主題
HELP_HELP PONHELP 顯示Help應用程序的自身幫助,函
數忽略lpszHelpFile和dwData參數
HELP_INDEX 顯示幫助文件的索引
HELP_KEY 顯示dwData指定的關鍵字的幫助
HELP_MULTIKEY 顯示一個關鍵字的幫助,該關鍵字
在一個可變關鍵字表中
HELP_QUIT 向Help應用程序報告文件不再使用
HELP_SETNDEX 把dwData指定的描述符作為幫助文件的當前索引
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
dwData參數的含義依賴於fuCommand的設置,如果fuCommand為HELP_CONTEXT,dwData為一個32 位的無符號整數,它包含一個描述表標識號:如果 fuCommand 為 HELP_KEY,dwData 則為一個指定長指針,所指的字符串是幫助的關鍵字。 如果 fuCommand 為HELPMULLTIKEY,dwData則指向一個MULTIKEYHELP數據結構的長指針。
下面的例子使用了窗體中的按鈕。當用戶單擊按鈕幫助系統將顯示指定文件的幫助內容主題。
procedure TForm1.Bin1Click(Sender : TObject)
begin
Application.HelpFile := 'MyHlep.HLP'
Application.HelpCommand(HELP_CONTENTS,0);
end;