首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

定制过IE的朋友请留步,该如何解决

2012-01-24 
定制过IE的朋友请留步小弟最近接到一个任务,定制WebBrowser,于是乎俺派生IDocHostUIHandler接口以便定制右

定制过IE的朋友请留步
小弟最近接到一个任务,定制WebBrowser,于是乎俺派生IDocHostUIHandler接口以便定制右键菜单.通过浏览器的ICustomDoc接口可以将自己实现的IDocHostUIHandler对象传递给浏览器,但是ICustomDoc只能传递IDocHostUIHandler接口,对于其他接口(如IDocHostShowUI接口)就无能为力了,只有通过实现IOleClientSite接口并调用浏览器的IOleObject::SetClientSite设置给浏览器(浏览器通过IOleClientSite接口查询IDocHostUIHandler接口)。一切都还算成功,但是今天偶然发现这样做后浏览器根本就接受不了键盘输入,不知道哪位大侠能提供一点解决方案啊。我也不知道我把问题表达清楚没...

[解决办法]

[解决办法]
两个可能原因
1、IDocHostUIHandler::TranslateAccelerator中,你返回什么了?
2、在消息循环里,在DispatchMessage之前,应该先把鼠标键盘消息交给控件的IOleInPlaceActiveObject::TranslateAccelerator过滤一下,它不处理的才进行Dispatch。
[解决办法]
关注

热点排行