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

VB6 自定义浏览器 Webbrowser 键盘失效有关问题

2012-01-31 
VB6 自定义浏览器 Webbrowser 键盘失效问题.在公司的项目中需要自定义浏览器.我参照了LE浏览器的代码,感谢

VB6 自定义浏览器 Webbrowser 键盘失效问题.
在公司的项目中需要自定义浏览器.
我参照了LE浏览器的代码,感谢作者.如果您没有看过那份代码,可以不必理会下面关于LE浏览器异同的部分.

我是这样做的.
定义了一个cWebbrowser,在这个类中实现olelib.IOleClientSite,olelib2.IOleInPlaceSite这两个接口.在浏览器窗体(假设是frmWebbrowser)这里我直接在一个PictureBox中画了一个Webbrowser控件,与LE浏览器有所差别.),窗体Form_Load初始化时将Webbrowser与cWebbrowser进行绑定,并将Webbrowser的窗口设置为PictureBox.功能做好了,运行正常.
但是出现的问题是CTRL,TAB,ALT这些键都失效了(不是所有键),对Webbrowser的Sendkeys也无效..

我尝试的解决过程:
首先我尝试将frmWebbrowser中的cWebbrowser相关代码去掉,此时Webbrowser按键生效.说明键盘失效与cWebbrowser有关.然后我将cWebbrowser相关代码恢复,再陆续将对Webbrowser中Document对象的一些相关操作屏蔽,发现那些键仍然失效.所以基本确定是cWebbrowser出的问题.
一开始我认为是没有实现olelib.IDocHostUIHandler,olelib.IDocHostShowUI,于是将这两个接口也实现,下断点到IDocHostUIHandler_TranslateAccelerator,但是在运行过程中无论我怎样按键都未执行到这里.而且我按键时,未能触发任何代码事件.
而我在LE浏览器中,将olelib.IDocHostUIHandler,olelib.IDocHostShowUI两个接口去掉,LE浏览器的按键仍有效.说明按键失效与这两个接口无关.

现在我就不清楚,到底是什么原因让那些控制键失效的,该如何恢复.



CSDN居然没有标签功能,郁闷,只好把标题当标签使了,希望其他人可以方便地搜索到.

[解决办法]
俺来接分!
[解决办法]

探讨

我要结帖了,要分的跟帖吧。

[解决办法]

热点排行