1. 程式人生 > >HtmlHelp調用chm幫助文檔使用

HtmlHelp調用chm幫助文檔使用

大小 bar 處理 如何 控件 說明 header favor 之間

分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

htmlhelp.exe下載下來後按照提示安裝,大家都會,我就不再多說了。安裝成功後,你可以在開始菜單了看到HTML HELP WORKSHOP一項,下面有兩個快捷方式一個是HTML HELP IMAGE EDITOR是編輯圖片的,另一個就是HTML HELP WORKSHOP就是我們需要的程序了。單擊運行是個英文的界面,不過裏面的項目很少,不會英文的也不用擔心,大部分菜單都有一看就明白的快捷工具條。下面就跟著我一步步制作一個簡單的幫助系統吧:

1.建立新的工程
在工具欄上點"new"按鈕,在彈出的對話框中選擇"project",按"ok"會出現一個向導,照著向導進行就可完成。向導第一頁意思為可以把老式的幫助文件(.rtf,.cnt等等)轉換為html help workshop的格式。如果你不想讓自己以前的功夫白費,就選中"CONVERT WINHELP PROJECT"復選框,把你以前的工程加進來,否則直接進入下一步,為你將要建的工程指定路徑和文件名,完成工作進入下一步,向導會詢問你有無html格式文檔的目錄文件(*.hhc)、html格式文檔的索引文件(*.hhk)和*.htm文件需要加入工程,作為新建的工程目錄文件和索引文件現在是沒有的,你可以在此將html文件加入,不加等會加也行。我們直接進入下一步完成新建的工程文件,看到如圖一所示的界面。
2.添加html文件
你如果在新建工程時已加上就可以跳過這步。在圖示界面的project選項卡中點擊"add/remove topic files",出現topic files 窗口,用"add"向工程添加你已編好的html文件,用"remove"刪除不需要的文件。完成工作後點"save all project files and complied"進行編譯,點工具欄上的"view compile"就可以看到一個沒有目錄和索引的幫助了。

3.添加幫助的目錄文件
在圖示的選項卡中點"content",在彈出的對話框中選"GREAT A NEW CONTENT FILE",指定文件名並保存。點左側的"INSERT A HEADING",插入一個主題,取個適當的名字,將屬於這個主題的HTML問件依次用"INSERT A PAGE"插入到當前主題下,用"↓"、"↑"、"←"、"→"調整各個頁面在同一主題下的次序和相互間的層次結構。

4.添加幫助的關鍵字索引
使用索引可以根據關鍵字迅速地定位到需要使用的頁面。在圖示的選項卡中點"INDEX",在彈出的對話框中選"GREAT A NEW INDEX FILE",指定文件名並保存。用"INSERT A KEYWORD"插入選定的關鍵字,並與對應的HTML頁面相關連,一個關鍵字可以對應一個頁面,也可對應多個頁面。該界面下同樣可以調整各個關鍵字之間的次序和層次關系,並且可以對關鍵字排序和察看源文件,為用戶提供方便。
5.定制窗口
當以上幾步都完成後,一個幫助文件就基本完成了。但是運行一看,幫助窗口沒有標題,而且工具欄上的一些快捷工具你想要的沒有,不要的卻有一些。也沒有書簽和搜索兩
個選項卡,還是不太滿意,不過別急下面就做。在"PROJECT"選項卡界面中有個"ADD/MODIFY WINDOW DEFINITIONS"的按鈕就是為你準備著這步工作的。單擊就會出現一個如圖二所示的界面,有很多選項卡,待我一一道來。
a. General
有個WINDOW TYPE的編輯框,你點ADD就會出現個對話框讓你輸入窗口的名字,你為你的幫助窗口取個名字,以後有用。在下面的TITLE BAR TEXT的編輯框中填上你的幫助窗口的標題。
b. Buttons
WINDOW TYPE中應該顯示你剛才為你的窗口區的名字,下面的許多個復選框就是幫助文件運行時在工具欄上顯示的那一排按鈕,你可以在你需要的按鈕前打勾選中。
c. Position
在此你可以設定幫助窗口首次出現的位置和大小,一般可以使用默認值。
d. Files
在此你可以設定你幫助窗口的目錄文件,索引文件,缺省頁面等等。
e. Navigation Pane
當你選中Window With Navigation Pane, Topic Pane ,And Button這個復選框時,下面就會出現多個復選框,不選中,你的幫助程序就不會出現工具欄和目錄、索引等的選項
卡。選中它,在它下面有個Tabs的幀,你可以看到Default tab,有個下拉列表框決定幫助文件運行時首次定位在目錄、索引還是搜索。在列表框下面有三個復選框,Search
Tab選中就在幫助中會出現搜索選項卡,Advanced是進一步搜索的,Favorites Tab就是書簽選項卡,可以對你常用的幫助頁面進行快速的定位。
f. Styles 和Extended Styles對你的幫助文件的窗口類型進行定義,可以用缺省的。
6.制作幫助文件的搜索
在上步添加了搜索選項卡後,如果不建立全文搜索,這個選項卡就不起作用。你可以切換到Project選項卡,點左側工具欄"Change Project Options"按鈕,出現"Option"對話
框,在其中的選項卡"Compiler"下選中"Compiler full-text search information"前的復選框就可以了。
7.映射幫助文件到你的程序的構件
一個好的程序當用戶在使用遇到困難時,按下F1快捷鍵就會出現與之相關的幫助主題,在程序中的處理下面再講,在做幫助文件時,需要怎麽做呢?
首先需要添加兩個文件一個為文本文件(.txt),另一個是頭文件(.h),指定文件名和路徑生成後,在文本文件中的內容格式如下:
[topic] [topic ID] [help topic]
topic 就是你在第3步制作的幫助主題,topic ID是你的程序控件在幫助中的唯一標識符,後面的help topic可以忽略,那是在幫助模式下你點下該控件出現的說明。示範如下

幫助一 IDH_FORM 第一個窗口
幫助二 IDH_EDITBOX
在頭文件中的內容格式如下:
#define IDH_FORM 1
#define IDH_EDITBOX 2
其中define表示宏定義,IDH_FORM就是你在文本中定義的topic ID,數字1就是你的幫助文件Compile時所映射的唯一標識符,在程序中使用。
寫好上面的兩個文件後,就可以加進工程了,在圖一的界面上有個"HtmlHelp API Information"按鈕,單擊出現如下的對話框(圖三):
共有三個選項卡分別是"Map","Alias","Text Pop-ups"在"Map"選項卡下有"Header file"和"Remove"兩個按鈕,點"Header file"把剛才寫好的那個頭文件加入,"Remove"是
用來刪除頭文件用的,點"Alias"選項卡會在右邊出現四個按鈕分別是"Add", "Edit","Remove","Include",點"Add"會出現如下所示的對話框(圖四),在第一個編輯框內填
上上面定義的topic ID,第二個時個列表框,可以選擇topic ID對應的頁面文件,第三個編輯框是註釋,可以不填。填完後點"Text Pop-ups",會在右邊出現三個按鈕分別是
"Header file"," Text file","Remove",分別點""Header file"," Text file"將上面寫好的文本文件和頭文件加進去。就大功告成了。
當你全部完成以上工作時,保存編譯後在你的工程目錄下出現個以chm結尾的文件,你的幫助就已完成了一大半,此時該幫助文件可以獨立運行了。如何將你的幫助加入你的程
序中呢,請接著向下看:
二、與vb、vc、pb、vfp程序集成
在程序中調用chm類型的幫助要使用htmlhelp這個API函數,它已被集成到hhctrl.ocx中,當你安裝了html help workshop後,就已安裝這個控件。
1.在vb中的調用方法
a. 幫助主題映射
在菜單條的工程一項最底部有個工程的屬性,點擊出現如下的對話框(圖五)在幫助文件名那一欄中填上你剛剛精心制作好的幫助文件文件名,對於每個控件而言都有個屬性為
HelpContextID,就在屬性窗口中可以看到,屬性窗口可以按"F4"調出,在其中填上上文定義的數字標識符1、2、3等等,當你的程序運行時,按下"F1"就可以得到相關的幫助了

當然你還可以在程序開始運行時,使用下面的語句app.helpfile="hh.chm"設定幫助文件路徑,推薦采用此方法。
b.在vb中調用這個函數的聲明如下
Public Declare Function htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal h"Remove","Include",點"Add"會出現如下所示的對話框(圖四),在第一個編輯框內填上上面定義的topic ID,第二個時個列表框,可以選擇topic ID對應的頁面文件,第三個編輯框是註釋,可以不填。填完後點"Text Pop-ups",會在右邊出現三個按鈕分別是
"Header file"," Text file","Remove",分別點""Header file"," Text file"將上面寫好的文本文件和頭文件加進去。就大功告成了。
當你全部完成以上工作時,保存編譯後在你的工程目錄下出現個以chm結尾的文件,你的幫助就已完成了一大半,此時該幫助文件可以獨立運行了。如何將你的幫助加入你的程
序中呢,請接著向下看:
二、與vb、vc、pb、vfp程序集成
在程序中調用chm類型的幫助要使用htmlhelp這個API函數,它已被集成到hhctrl.ocx中,當你安裝了html help workshop後,就已安裝這個控件。
1.在vb中的調用方法
a. 幫助主題映射
在菜單條的工程一項最底部有個工程的屬性,點擊出現如下的對話框(圖五)在幫助文件名那一欄中填上你剛剛精心制作好的幫助文件文件名,對於每個控件而言都有個屬性為HelpContextID,就在屬性窗口中可以看到,屬性窗口可以按"F4"調出,在其中填上上文定義的數字標識符1、2、3等等,當你的程序運行時,按下"F1"就可以得到相關的幫助了

當然你還可以在程序開始運行時,使用下面的語句app.helpfile="hh.chm"設定幫助文件路徑,推薦采用此方法。
b.在vb中調用這個函數的聲明如下
Public Declare Function htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dw
Data As Long) As Long放在模塊聲明中。需要用到的常數為
Public Const HH_DISPLAY_INDEX=2
Public Const HH_DISPLAY_TOC =1
Public Const HH_DISPLAY_TOPIC =0
你可以在菜單幫助下加上如下的程序:
dim aa as long
aa = htmlhelp(me.hwnd, "hh.chm::/01.htm>hh", HH_DISPLAY_TOPIC, 0)
或者
dim aa as long
aa = htmlhelp(me.hwnd, "hh.chm::/01.htm", HH_DISPLAY_TOC, 0)
其中hh.chm是你生成的chm文件,01.htm是你chm文件中包含的html文件的名字,hh是你的幫助的窗口的名字程序開始運行時就顯示目錄的選項卡,如果想讓程序一開始就顯示索引選項卡你可以用
下面的程序辦到:
Dim aa As Long
aa = htmlhelp(Me.hWnd, "hh.chm", HH_DISPLAY_INDEX, 0)
2.在vc中的調用方法
在vc中的函數原型為HWND HtmlHelp(HWND hwndCaller,LPCSTR pszFile,UINT uCommand,DWORD dwData) ;調用時需要包含Htmlhelp.lib 和 Htmlhelp.h這兩個文件,
默認路徑是C:\Program Files\HTML Help Workshop\Lib和C:\Program Files\HTML Hel
p Workshop\Include,你可以把這兩個文件拷到vc可以辨認的目錄下在vc程序裏加上#i
nclude "htmlhelp.h",並在菜單project下的setting中的link下加入Htmlhelp.lib
你在你的程序中加入下列語句之一就可以調用該幫助文件了:
HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm::/01.htm>hh",HH_DISPLAY_TOPIC,NULL) ;
HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm::/01.htm",HH_DISPLAY_TOC,NULL);
HWND helpwnd=HtmlHelp(GetSafeHwnd( ),"hh.chm",HH_DISPLAY_INDEX,(DWORD)"幫助一") ;
3、在 Visual Foxpro 中調用 HtmlHelp 幫助文件
Visual Foxpro 6.0 支持 WinHelp 和 HtmlHelp ,在 Visual Foxpro 中調用 HtmlHelp 幫助文件也需要聲明 HTML 幫助文件的路徑和名稱,用以下命令:Set Help To hh.chm
然後 , 在需要調用 HTML 幫助文件的地方輸入下列語句:
Help即可調用 Set Help To 指定的幫助文件。
4、在 Power Builder 中調用 HtmlHelp 幫助文件
在 Power Builder 中調用 HtmlHelp 幫助文件需要用 HtmlHelp API 函數 HtmlHelpA(),這個函數駐留在 HtmlHelp ActiveX 控件 Hhctrl.ocx 中。因此,首先要聲明全局或局部外部函數,語法如下:
Function Long HtmlHelpA (long hwnd ,string lpHelpFile , long wCommand,string dwData) Library "hhctrl.ocx"
其中 , 參數 hwnd 是窗口的句柄, lpHelpFile 是 HTML 幫助文件的路徑和名稱, wCommand 表明執行的操作, dwData 是 wCommand 參數所需要的值。然後, 在需要調用
HTML 幫助文件的地方輸入下列語句 , 語法如下:
htmlhelpA( hwnd, "hh.chm", 0, 0)

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

HtmlHelp調用chm幫助文檔使用