还是问个简单点的问题:使WebBrowser获得焦点

aoeiuvcom 2006-08-27 07:45:43
资料如下:
------------------------------------------------------------------------------------
6、使WebBrowser获得焦点

  TWebBrowser非常特殊,它从TWinControl继承来的SetFocus方法并不能使得它所包含的文档获得焦点,从而不能立即使用Internet Explorer本身具有得快捷键,解决方法如下:<

  procedure TForm1.SetFocusToDoc;
  begin
   if WebBrowser1.Document <> nil then
    with WebBrowser1.Application as IOleobject do
     DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle, GetClientRect);
  end;

  除此之外,我还找到一种更简单的方法,这里一并列出:

  if WebBrowser1.Document <> nil then
   IHTMLWindow2(IHTMLDocument2(WebBrowser1.Document).ParentWindow).focus

  刚找到了更简单的方法,也许是最简单的:

  if WebBrowser1.Document <> nil then
   IHTMLWindow4(WebBrowser1.Document).focus

  还有,需要判断文档是否获得焦点这样来做:

  if IHTMLWindow4(WebBrowser1.Document).hasfocus then
------------------------------------------------------------------------------------

不知道谁试过?反正我是没能成功,XP和2003下都不行

问题如下:

如何在多页面浏览器里(MDI形式),切换窗口时,设置Webbrowser的焦点,即

1.有输入焦点(用户最后设置的地方)

2.接收鼠标滚轮

具体效果见傲游Maxthon

**********************

另一问题较难:如何向 HTTP 请求添加自定义标头

见:http://community.csdn.net/Expert/topic/4897/4897832.xml?temp=.7063105
...全文
383 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aoeiuvcom 2006-09-12
  • 打赏
  • 举报
回复
再顶几下就结:(
Cocular 2006-08-28
  • 打赏
  • 举报
回复
IHTMLWindow2(IHTMLDocument2(WebBrowser1.Document).ParentWindow).Focus;
正解

我能成功啊D2006
FigoZhu 2006-08-28
  • 打赏
  • 举报
回复
帮顶,接分。
aoeiuvcom 2006-08-28
  • 打赏
  • 举报
回复
Cocular :我用的是D7 :(

sxqwhxq :怎么个重写?
仙侣步惊云 2006-08-28
  • 打赏
  • 举报
回复
重写webbrowser的窗口过程
erhan 2006-08-27
  • 打赏
  • 举报
回复
网上搜的三种方法的确不行,我也试过,可能是偶不会用吧。
erhan 2006-08-27
  • 打赏
  • 举报
回复
IHTMLWindow2(IHTMLDocument2(WebBrowser1.Document).ParentWindow).Focus;

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧