当在界面上的按F1的时候,好像会自动响应Application.onhelp事件,我现在想自己写一个这个事件,请问如何改动,来覆盖原有的事件,最好能给个代码 谢谢
还有一个问题 formkeydown事件里面VK_F1编译通过 但是VK_S不行 请问是什么原因
请高手指点 谢谢

解决方案 »

  1.   

    1.处理消息wm_help
    2.没有VK_S的定义,用ord('S')
      

  2.   

    to ithinkthereforeiam
    你好 
    可能是我说的不太明白,我要做的东西是在界面中按F1调出相应的帮助,
    按F1之后,系统好像会自动相应一个Onhelp事件 我想自己处理这个事件
    请问如何改动呢.
    还有就是对于界面中的每个vcl控件,都能够响应F1 是不是要处理Application.onhelp呢
    不好意思 是新手 可能说的有问题 请继续指点
      

  3.   

    是我说得不太明白,在界面按F1时,会触发wm_help消息,所以你需要的就是处理wm_help消息而不用考虑Application.onhelp,下面的例子可以参考一下:
    procedure WMHelp(var Message: TWMHelp); message WM_HELP;procedure TForm1.WMHelp(var Message: TWMHelp);
    var
      acontrol: TWinControl;
    begin
      with Message.HelpInfo^ do
      begin
        if iContextType = HELPINFO_WINDOW then
        begin
          acontrol := FindControl(hItemHandle);
          ShowMessage(acontrol.Name);
        end;
      end;
    end;