在创建Iwebbrowse控件后,为什么在调用SetUIHandle后内部的网页元素无法输入字符?
我实现了IDocHostUIHandler,想做一些特殊处理,但发现browse控件设置SetUIHandle后变得无法编辑了,无法接受字符,什么原因啊?
时奏、碎未以
12 years, 6 months ago
Answers
IDocHostUIHandler 键盘相关的接口只有 TranslateAccelerator 了,你可以看一下你的TranslateAccelerator如何实现的。
我查了一下MSDN,应该是TranslateAccelerator的原因,这是TranslateAccelerator的描述:
When you use accelerator keys, such as TAB, you might want to override the default host behavior. This example shows how to disable the default tabbing behavior of the host. The code returns S_OK to indicate that the message was handled .
黑色部分说明了问题,你应该缺省都返回了S_OK,导致browser丢充了所有键盘输入,所以会无法输入字符。
泰兰德的香蕉
answered 12 years, 6 months ago