做好了一个Chm的帮助文件,连接到delphi中,
对应的contextID等都设好了,从工具条上的
帮助按钮调用都没有错,但就是不能响应F1,
提示"xxx不是windows帮助文件,或者该文件
已被破坏!"
在Delphi中跟踪发现application.onhelp事件
没有任何响应!请大家指点!多谢!

解决方案 »

  1.   

    delphi不支持.chm文件,只支持.hlp文件,你或者是创建.hlp文件,或者是在onhelp事件中自己编写代码打开.chm文件。
      

  2.   

    参考:
    http://www.ccw.com.cn/htm/app/aprog/01_5_18_4.asp
    http://www.jiafangyifang.com/news/newsdata/2001_12_03/3/20011203142349.htm
      

  3.   

    其他都OK,现在就是不响应F1,
    做了一个帮助按钮调用都没问题。
    请同志们帮忙啊!
      

  4.   

    Additional页上有一个TApplicationEvent控件。
    放ApplicationEvent在程序主窗口,在ApplicationEvent的OnMessage事件写:
    procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
     var Handled: Boolean);
    begin
     if Msg.message=WM_KeyDown then
       if msg.wParam=vk_f1 then
       begin
         ShellExecute(application.handle,'open','c:\myhelp\help.chm','','',sw_show);//创建帮助窗口
         handled:=True;
       end;
    end;
      

  5.   

    帮助按钮事件:  ShellExecute(0,'open','Application.HelpFile',nil,nil,SW_SHOW);
      

  6.   

    在KeyDown事件里
        if key=112 then
    application.handle,'open','c:\myhelp\help.chm','','',sw_show);//创建帮助窗口
         handled:=True;
      

  7.   

    回复人: TechnoFantasy(www.applevb.com) ( ) 
    都说话了,我是来听讲的!!
    :)
      

  8.   

    我记得好像直接把menu的属性shortcut 设置成f1就可以了,没有这么复杂吧