IE里的OCX控件为什么收不到Back Space等消息?我有一个OCX控件,是用在IE页面里的,在控件的输入框中无法输入Back Space等键.分析得出是因为IE里Back Space是上一页,是IE的控制键,IE对这个按键消息进行了处理,但在控件中却收不到,请问如何解决?

解决方案 »

  1.   

    IE 作为你的控件的容器处理了这个消息并且没有继续把消息转发到你的控件。
    我一个同事的处理方法比较...他把控件做成覆盖在IE上方,由它转发不需要的消息给IE...
    但我觉得这个方法并不好。
      

  2.   

    处理WM_KEYDOWNCommand what is yours
    Conquer what is not
      

  3.   

    Knowledge Base  
    PRB: MFC ActiveX Control in IE Doesn't Detect Keystrokes
    This article was previously published under Q168777
    PRB: TranslateAccelerator() Not Called for ActiveX Controls
    This article was previously published under Q183167
    HOWTO: Add Toolbars and Tooltips to ActiveX Controls
    This article was previously published under Q194294
    PRB: Enabling Menu Mnemonics in an MFC ActiveX Control
    This article was previously published under Q199431
    PRB: MFC ActiveX Control Ignores ARROW Keys on VB Container
    This article was previously published under Q180402
    PRB: ActiveX Control Is the Parent Window of Modeless Dialog
    This article was previously published under Q187988
      

  4.   

    重载一下PreTranslateMessage就肯定成功了
      

  5.   

    楼上的错了,一样的不行我现在也遇到了这样的难题
    我用了键盘钩子,输入框有了响应
    可是却屏蔽不掉IE对BackSpace的响应