请问哪位高人会用vb做帮助文档(CHM),将数据库的内容以CHM形式显示以方便用户查询。
最好做成带按索引查询的那种.
                           谢谢!

解决方案 »

  1.   

    類別:APP / Help / API 編號:0478 --------------------------------------------------------------------------------
     
    主題:如何讓 VB 連結 HtmlHelp 說明檔(.chm)? 
    來源:小紀(紀文和) 
    版本:VB6 / VB5 --------------------------------------------------------------------------------
     現在 Windows 的說明檔都已改成 HtmlHelp 的格式(.chm),而不再使用以前常用的 Windows Help 檔(.hlp),在 VB 的安裝光碟中,也附有 Html Help 的編輯軟體 Html Help Workshop 來讓您製作 .chm 說明檔案。當您的 VB 程式開發完成,也用 Html Help Workshop 製作完成 .chm 說明檔,這時候,要如何讓您的 VB 程式,能依程式的需求,隨意開啟 .chm 檔案中任意指定的頁面呢?在本單元中,不是要教您如何製作 .chm 檔,所以,我要拿來測試的 .chm 檔案,是 Windwos 現成內附的 Find.chm 檔。
    在本單元中,我們會引用以下二個 Function,它們都是宣告在 hhctrl.ocx 中:Private Declare Function HtmlHelpTopic Lib "hhctrl.ocx" Alias "HtmlHelpA" _
    (ByVal hwnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As String) As LongPrivate Declare Function HTMLHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
    (ByVal hwnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long配合程式需要,我們會用到三個常數,宣告如下:Private Const HH_DISPLAY_TOPIC = &H0
    Private Const HH_DISPLAY_TOC = &H1
    Private Const HH_CLOSE_ALL = &H12相關的功能,我們寫成以下三個模組:Sub ShowHtmlHelpToc(ByVal tHelpFile As String)
        ' 開啟指定的 chm 檔案,並顯示預設的頁面
        On Error Resume Next
        HtmlHelpTopic 0, tHelpFile, HH_DISPLAY_TOC, 0
    End SubSub ShowHtmlHelp(ByVal tHelpFile As String, ByVal tHelpPage As String)
        ' 開啟指定的 chm 檔案,並顯示指定的頁面
        On Error Resume Next
        HtmlHelpTopic 0, tHelpFile, HH_DISPLAY_TOPIC, tHelpPage
    End SubSub CloseHtmlHelp(ByVal tHelpFile As String)
        ' 關閉開啟的 chm 檔案
        On Error Resume Next
        ' 如果您想關閉所有目前已開啟的 HtmlHelp 檔案 (.chm),
        ' 包括非本程式開啟的,只要檔案名稱傳入空字串即可.
        HTMLHelp 0, tHelpFile, HH_CLOSE_ALL, 0
    End Sub其中的功能說明如下:模  組 參   數 功   能 
    ShowHtmlHelpToc tHelpFile:要開啟的 .chm 檔
     若 .chm 檔已開啟:只是將 .chm 移到最上層
    若 .chm 檔未開啟:開啟 .chm 檔,並停在預設的頁面 
    ShowHtmlHelp tHelpFile:要開啟的 .chm 檔
    tHelpPage:要開啟的頁面 開啟 .chm 檔,並停在指定的頁面 
    CloseHtmlHelp tHelpFile:要關閉的 .chm 檔
     傳入 .chm 檔案名稱:關閉指定的 .chm 檔
    傳入空字串:關閉所有目前開啟的 .chm 檔 
    範例程式執行的畫面如下:
    重要程式碼如下:Private Sub Command1_Click()
        ' 開啟--預設的頁面 (不一定是首頁)
        ShowHtmlHelpToc App.Path & "\Find.chm"
    End SubPrivate Sub Command6_Click()
        ' 開啟指定的頁面--儲存搜尋的結果
        ShowHtmlHelp App.Path & "\Find.chm", "ie4_save_search.htm"
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        ' 程式結束前先關閉開啟的 chm 檔
        CloseHtmlHelp App.Path & "\Find.chm"
    End Sub注意事項如下:1)範例程式解壓縮後,請將 Find.chm 程程式放在同一個目錄中,才可順利執行。2)如果是您自己編輯完成的 .chm 檔案,您當然知道 .chm 檔案中每一頁的位置及名稱,所以,您在開啟指定的頁面時,不會有問題發生,但是,如果您像這個單元的範例程式一樣,需要引用別人完成的 .chm 檔案時,如何知道檔案位置及名稱呢?以本單元用到的 Find.chm 為例,您開啟後,找到指定的頁面,在該頁面上按滑鼠右鍵,出現下拉選單,如下:選擇其中的【屬性】選項,會出現如下的【內容】問話框,如圖,標示的即是指定頁面的檔案位置及檔名了!
    3)當您的程式中開啟了 .chm 檔案,而使用者沒有關閉 .chm 檔案,就直接結束程式,會出現以下的錯誤訊息:要避免這個錯誤,就是要在程式結束前,先關閉 .chm 檔案,再結束程式本身,作法很簡單,只要在 Form_Unload 中,呼叫上面的 CloseHtmlHelp 即可解決! 下載範例程式碼   Microsoft Html Help Workshop 1.31/1.32 下載 --------------------------------------------------------------------------------