(2)是否WebBrowser自己处理了加速键?
我忽略了这个点。
MFC实现过程:
1、在消息循环中处理TranslateAccelerator之前转发消息。
具体操作是。得到IOleInPlaceActiveObject接口,IOleInPlaceActiveObject::TranslateAccelerator(&msg);向控件发消息。
2、如果控件处于击活。OLEIVERB_UIACTIVATE,控件只在这种状态下接受加速键。
3、要注意的是,如果实现了IDocHostUIHandler接口,返回S_FALSE不处理调用控件加速键,S_OK则不执行,这是倒数第二次补救机会.
4、最后一次处理机会那就是如果你实现了IOleInPlaceActiveObject,可以设置自己的加速键当然,因为是自定义的,你必须实现功能函数。
本文探讨了MFC应用程序中WebBrowser控件如何处理加速键的问题。介绍了通过IOleInPlaceActiveObject接口转发消息的具体步骤,并强调了控件激活状态及IDocHostUIHandler接口的重要性。
1426

被折叠的 条评论
为什么被折叠?



