Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Long) As Long
Const HH_DISPLAY_TOPIC = &H0
Const HH_SET_WIN_TYPE = &H4
Const HH_GET_WIN_TYPE = &H5
Const HH_GET_WIN_HANDLE = &H6
Const HH_DISPLAY_TEXT_POPUP = &HE ' Display string resource ID or
' text in a pop-up window.
Const HH_HELP_CONTEXT = &HF ' Display mapped numeric value in
' dwData.
Const HH_TP_HELP_CONTEXTMENU = &H10 ' Text pop-up help, similar to
' WinHelp's HELP_CONTEXTMENU.
Const HH_TP_HELP_WM_HELP = &H11 ' text pop-up help, similar to
' WinHelp's HELP_WM_HELP.Private Sub Command1_Click()
'hWnd is a Long defined elsewhere to be the window handle
'that will be the parent to the help window.
Dim ssapp As String
Dim hwndHelp As Long
ssapp = App.Path & "\help.chm"
'The return value is the window handle of the created help window.
hwndHelp = HtmlHelp(hWnd, ssapp, HH_DISPLAY_TOPIC, 0)End Sub

解决方案 »

  1.   

    问题是,我如何让帮助文件自动跳转到某个主题?比如说,点击Command1,
    显示一个主题的帮助内容,点击Command2,显示另一个主题的帮助内容?
      

  2.   

    用文本编辑器编辑一个头文件,文件结构如下:
    #define <帮助页主题> <ID编码>
    ...
    每行定义一个,编译帮助文件时使用该头文件。
    在VB中调用帮助时指定<ID编码>即可。
      

  3.   

    你所的chm的帮助文件好像不能完成你的功能。我的*.hlp的帮助文件的例子好象可以。也就是说:当焦点在一个文本框的时候我点击F1键就会自动找到帮助文件中的固定选项显示出来。调用chm文件的方法:
    shell "hh.exe " & "c:\cch.chm"
      

  4.   

    声明api函数
    Call ShellExecute(hwnd, "open", "帮助文件名", "", App.Path, 1)