CHM 帮助文件是基于 HTML 的, 在 Delphi 中使用它必须引入 htmlhelp.ocx 控件库中的 API 函数才能有效, 这与普通的 Windows 帮助系统是不同的. 就算在 VC 下编程, 要使用 CHM 帮助文件, 你也必须加入 htmlhelp.h 这个附加的头文件. 我这里有 for Delphi 的, 是一个叫 htmlhelp.pas 的单元, 在程序中引用这个单元就可以了.

解决方案 »

  1.   

    直接使用Shellexecute不更方便?
      

  2.   

    直接使用Shellexecute不更方便?
      

  3.   

    对于.chm,WIN98系统能自动识别,双击就行了;
    在DELPHI中也能直接用,
    Application.HelpFile:='MyHelp.chm';
    至于上下文有关的就不会了
      

  4.   

    phoenix2000 能给个简单的例子吗?要“上下文相关的”。万分感谢!
      

  5.   

    Shell当然可以,问题是:提问者要求实现上下文有关的帮助,
      

  6.   

    关注,请举个例,如何   Button1.HelpContext <=== ????
      

  7.   

    按关键字 chm 搜索一下此类问题很多
      

  8.   

    我搜索了一下,用 F1 也能弹出对应的帮助了,可是:总不能写一个大大大大的 case 语句,判断是哪个控件吧?我搜索到的方法是这样的:
    HtmlHelp(Handle, PChar('sss.chm::\button1.htm'), HH_DISPLAY_TOPIC, 0);
    里面的 button1.htm 需要根据是哪个控件而变动。还有,怎么实现那种弹出一个 ToolTip 提示的那种上下文相关的帮助呢?
      

  9.   

    如果不使用 htmlhelp.pas 中声明的 htmlhelp.ocx API 函数(htmlhelp 专用函数),要想实现上下文关联查询、热点等等是非常困难的!调用 chm 帮助文件可不是简单的用 Shellapi 函数就可以的
      

  10.   

    to Phoenix2000(Phoenix2000)
    能给我一个htmlhelp.pas吗 :-)[email protected]
      

  11.   

    找一个htmlpasapi的实现单元就行了.选择叶面,索引。这个文件我有。
      

  12.   

    我搜索了一下,用 F1 也能弹出对应的帮助了,可是:总不能写一个大大大大的 case 语句,判断是哪个控件吧?我搜索到的方法是这样的:
    HtmlHelp(Handle, PChar('sss.chm::\button1.htm'), HH_DISPLAY_TOPIC, 0);
    里面的 button1.htm 需要根据是哪个控件而变动。还有,怎么实现那种弹出一个 ToolTip 提示的那种上下文相关的帮助呢?