如一张网页中,有一个表单:
<form action="" name="form1" mathod="get">
<input type="text" name="test1" />
</form>那我想在鼠标移到input上面的时候,就可以解得到input的名称为test1以及所属的表单名form1和方法请教高手

解决方案 »

  1.   

    uses
    SHDocVw, MSHtml, ActiveXvar
      E: IHTMLElement;
    begin  E := (WebBrowser1.Document as IHTMLDocument2).elementFromPoint(Mouse.CursorPos.X, Mouse.CursorPos.Y);
      E := (WebBrowser1.Document as IHTMLDocument2).elementFromPoint(100, 100);
      Label1.Caption := E.title;
      Label1.Caption := E.innerText;
      

  2.   

    你编写一个activeX组件来实现,就很方便.
      

  3.   

    想借宝地问一个问题,是不是要重写TWebBrowser啊!??
      

  4.   

    yq3woaini(哈哈镜--学习呢,工作呢,进步呢,纯粹混饭吃呢,没活干去)
    谢谢
    看来曲体五周半,腾空翻转,自由下落还是有效的
    我先试试看,如果没问题就给分
      

  5.   

    关于如何截获鼠标消息,还请高人指点
    因为TWebBrowser没有鼠标消息,我先想继承TWebBrowser,再截获消息(WM_MouserOver),但结果不行.
    于是采用Application.OnMessage
    在没有加载页面的时候可以获得鼠标的消息,但是如果加载页面后,而不能获得鼠标的消息
    请教,谢谢
      

  6.   

    已经获得鼠标的位置,并获取的控件的名称,但不知道如何将Screen的Point 转换为 WebBrowser的Mouse Point,试过ScreenToClient不成功
      

  7.   

    好,已经初步解决问题
    发代码以飨观众
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw, StdCtrls, MSHTML;type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        procedure FormCreate(Sender: TObject);
        procedure WebBrowser1DocumentComplete(Sender: TObject;
          const pDisp: IDispatch; var URL: OleVariant);
      private
        { Private declarations }
        FLoaded: Boolean;
        procedure AppMsg(var Msg: TagMsg; var Handled: Boolean);
        procedure GetContronl;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.AppMsg(var Msg: TagMsg; var Handled: Boolean);
    var
      mPoint : TPoint;
    begin
      if IsChild(WebBrowser1.Handle, Msg.Hwnd) and
         (Msg.Message = WM_MOUSEMOVE) and FLoaded then
      begin
        GetCursorPos(mPoint);
        GetContronl;
        //PopupMenu1.Popup(mPoint.X, mPoint.Y);
        Handled:=True;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      FLoaded := False;
      WebBrowser1.Navigate('http://www.kitop.com');
      Application.OnMessage := AppMsg;
    end;procedure TForm1.GetContronl;
    var
      E: IHTMLElement;
      tmpStr: String;
      myPoint: TPoint;
    begin
      myPoint := Mouse.CursorPos;
      myPoint := WebBrowser1.ScreenToClient(myPoint);
      {
      myPoint.X := myPoint.X + 100;
      myPoint.Y := myPoint.Y + 100;
      }
      E := (WebBrowser1.Document as IHTMLDocument2).elementFromPoint(myPoint.X, myPoint.Y);
      //E := (WebBrowser1.Document as IHTMLDocument2).elementFromPoint(100, 100);
       //ShowMessage(E.title);
       tmpStr := Format('%s,%s,%s,%s;X:%d;Y:%d',[E.className,E.id,E.tagName,E.innerHTML,
        myPoint.X,myPoint.Y]);
      Caption := tmpStr;
    end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    begin
      FLoaded := True;
    end;end.qsdnet(我想学编程):可以参考一下