说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在VB中如何调用*.chm类型的帮助文件?

编辑:说三道四文库 发布时间:2018-04-25 06:41
HTML文档下载 WORD文档下载 PDF文档下载
谁有在VB中调用HTML HELP(*.chm)的例子?
比如说,如何直接进入到某个主题?
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

以前巴顿的代码。
问题是,我如何让帮助文件自动跳转到某个主题?比如说,点击Command1,
显示一个主题的帮助内容,点击Command2,显示另一个主题的帮助内容?
用文本编辑器编辑一个头文件,文件结构如下:
#define <帮助页主题> <ID编码>
...
每行定义一个,编译帮助文件时使用该头文件。
在VB中调用帮助时指定<ID编码>即可。

你所的chm的帮助文件好像不能完成你的功能。我的*.hlp的帮助文件的例子好象可以。也就是说:当焦点在一个文本框的时候我点击F1键就会自动找到帮助文件中的固定选项显示出来。调用chm文件的方法:
shell "hh.exe " & "c:\cch.chm"
声明api函数
Call ShellExecute(hwnd, "open", "帮助文件名", "", App.Path, 1)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘