对WEBBROWSER二次开发!实现用MOVEUP相当于按键PAGEUP等(100分)

  • 主题发起人 主题发起人 lihao_nx
  • 开始时间 开始时间
L

lihao_nx

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]对WEBBROWSER二次开发!实现用MOVEUP相当于按键PAGEUP等,我做完
后发现必须要点击一下控件才能启用这些方法,换了新页面后又得点
击控件,为什么?怎么获得点击的新链接的URL?
 
最简单的办法是在换到新页面后用代码SetFocus [:D]
 
我试过了,不行的!
 
还有没有啊?
 
我好像有获得焦点的方法,给你找找。
 
请分享一下吧!
 
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
//============================================================
我也再写一个WebBrowser的软件。
可以相互联系。。
 
我已实现,如果大家有需要,我可以给大家!
 
后退
顶部