写了一个程序,主要功能是在窗口中显示一个网页。显示网页使用了IWebBrowser控件。现在有一个需求,就是在网页中单击ESC时要退出程序。可是我在容器程序中无法捕获到IWebBrowser控件的WM_KEYDOWN事件。请问各位又没有什么好的解决办法。谢谢。

解决方案 »

  1.   

    方法1 如果是基于MFC的对话框程序,在PretranslateMessage中捕获WM_KEYDOWN
    方法2 在容器的IOleClientSite实现的同一个对象上实现IDocHostUIHandler::TranslateAccelerator
      

  2.   

    基于对话框的话,可以直接用ESC就可以退出了,默认对话框程序,就有此功能
      

  3.   

    我的方法对于MFC的视图同样有效。不过MFC的文档视图框架中包含自动加速键表支持的。你也可以在加速键表中把ESC映射到一个自定义命令或者干脆映射到ID_FILE+CLOSE。