delphi中嵌ie browser的问题,今晚解决不了,我不能回去吃饭(200点)
在form中嵌webbrowser(delphi 5.0中internet页下的,实际就是ie 5.0(Microsoft Internet Control)),但是使用webbrowser.setfocus设置焦点失败(因为要使用keybd_event来模拟键盘输入,所以必须给其设置焦点),没有出错信息,keybd_event失效。当鼠标点击控件中任意一点后,WEBBROWSER可以得到焦点,keybd_event才有效.而VB的版本则无此问题.
通过寻找子窗口,可以得知WEBBROWSER有以下三层结构(以下是WINDOW CLASSNAME)
Shell Embedding(即WEBBROWSER本身)
-Shell DocObject View
--Internet Explorer_Server
我分别将这三个窗口的句柄分别用SDK API:setfocus函数来设置焦点,但是都无效.
从VB写的版本中可以知道在第三层同DELPHI版本的消息确实不同,VB版本的第三层可以收到SET_FOCUS的消息,而DELPHI版本则没有.
除了模拟鼠标点击BROWSER控件,有没有其他办法.
顺便提一下,发WM_VSCROLL消息给WEBBROWSER第一层也不响应.
我的地址: cxgtommy@21cn.com
oicq: 1766598
谁有好主意,请尽快联系我
明天交货,我今天一定要完成,