如何在vfp9.0中调用chm帮助文件的第8页?
如何在vfp9.0中调用chm帮助文件的第8页?
下面是6.0以前的例子,在9.0中如何使用,大家给个例子,谢谢!!!
如果在 VFP 6.0 中用 set help to helpfile.chm 命令并用按下 F1 调用帮助文件不会有问题。
但是在 VFP 5.0 或 VFP 3.0 中,使用 set help to helpfile.chm 命令后,若按 F1 想调用帮助文件时会发生系统错误。
因此,可以象以下示例一样来调用一个指定位置处的指定的 .chm 帮助文件中的指定的主题文件
1. 如果你的系统中没有注册 Hhctrl.ocx 按以下方法注册它
在 Visual FoxPro 3.0 和 3.0b, Regsvr32.exe 位于 \Vfp\Samples\Ole 目录, 在 Visual FoxPro 5.0 中, Regsvr32.exe 位于 \Vfp 目录.在 DOS 提示符下,用以下方法注册:
Regsvr32 Hhctrl.ocx
2. 修改 vfphtml.prg,修改变量 lcSampleHelp,lcHhctrl 和 lcTopic 的值. 这些变量包含 .chm 和 Hhctrl.ocx 的位置和要显示的主题的信息.
3. 进入 Visual FoxPro 并运行该程序.
4. 你指定的位置的 .chm 文件中的指定主题将会显示在屏幕上.
请注意示例中 hhctrl.ocx 所在的位置,在你的应用中,应为你的 hhctrl.ocx 指定适当的位置
以下示例假在你的电脑的设你有一个 C:\vfphtml\ 目录,且其中有一个 vfphtml.CHM 帮助文件,该帮助文件中包含有一个 page2.htm 文件。
以下是示例程序
* 在 Visual Foxpro 中用 HTML Help API 显示一个 HTML 帮助文件.
#DEFINE HH_DISPLAY_TOPIC 0
* 修改该行来反映你的 Chm 文件位置
lcSampleHelp = "C:\vfphtml\vfphtml.CHM"
* 修改该行来反映你的 Ocx 文件位置
lcHhctrl="c:\vfphtml\hhctrl.ocx"
* 修改该行来反映你的帮助文件中的 .htm 文件
lcTopic = "C:\vfphtml\vfphtml.CHM::/page2.htm"
* 该函数 取决于 生成 html 帮助文件的计算机的 hhctrl.ocx 版本
DECLARE INTEGER HtmlHelp IN (lcHhctrl) INTEGER hwndCaller, ;
STRING pszFile, INTEGER uCommand, INTEGER dwData
* 确定调用程序的 hwnd
* mainhwnd() 将告诉我们 VFP 桌面的名柄
SET LIBRARY TO SYS(2004) + "foxtools.fll"
m.hwndCaller = mainhwnd()
SET LIBRARY TO
NULLVALUE = 0
* 返回值是 html 帮助窗口的窗口句柄
* 在默认的帮助窗口中显示指定位置(C:\vfphtml\)中的指定帮助文件(vfphtml.CHM)中的指定主题(page2.htm)
hwndHelp = HtmlHelp(m.hwndCaller,;
"C:\vfphtml\vfphtml.CHM::/page2.htm",HH_DISPLAY_TOPIC,NULLVALUE)