Chm格式的幫助是從windows98以後纔出現的新的格式,與.hlp格式相比,具有更簡單的編輯方式、更豐富的畫面。它是通過Chm製作工具對網頁文件進行編譯得到的,所以理論上你可以把幫助文件做的和網頁一樣漂亮。
最簡單的製作方法:先用FronPage製作幫助文件,然後用HTML Help Workshop編譯就可以得到*.chm的幫助文件了。HTML Help Workshop可以到微軟的網站上去下載。
應用程序中的幫助可分爲上下文關聯和非關聯兩種。上下文關聯,是指用戶按F1鍵後,出現與當前焦點對象(如窗體、文本框、下拉列表框)相關的幫助畫面;不同對象,出現的幫助不同。非關聯幫助,是指在程序任何位置按F1鍵後,出現同一幫助畫面。下面就這兩種方式,談談在Delphi中的簡單實現方法。
一、非關聯的chm幫助
在Delphi中,你可以通過ShellExecute函數直接調用chm幫助文件,具體如下:
二、上下文關聯的chm幫助
在Delphi中實現上下文關聯的chm幫助,可以調用Windows系統目錄System32下的HHCTRL.OCX控件中的HtmlHelpA函數實現。 需要以下幾個步驟:
1 設置相關控件的HelpContext屬性。
例,主窗體frmMain::10100 ,其中的文本框 edtInput:10101
對話框dlgReport:10200 ,其中的組合列表框 cbReportEdit:10201
2 聲明HtmlHelpA函數
function HtmlHelpA (hwndcaller:Longint; lpHelpFile:string; wCommand:Longint;dwData:string): HWND;stdcall; external ''''hhctrl.ocx''''
3 F1按鍵響應
這樣,通過不同窗體的FormHelp事件,就可以實現幫助的關聯。
以上介紹了delphi應用程序與chm幫助關聯的一種簡單實現方法。如果要實現更復雜的關聯(例如,與幫助頁面內特定位置/書籤的關聯,請查看HtmlHelpA函數的說明。