delphi 怎么在WebBrowser控件里获得光标的位置

delphi在在WebBrowser控件里面怎么获得光标的具体位置,在窗口的位置也行,在屏幕的位置也可以... delphi 在在WebBrowser控件里面怎么获得光标的具体位置,在窗口的位置也行,在屏幕的位置也可以 展开
 我来答
cjdynasty
2013-07-11 · TA获得超过279个赞
知道答主
回答量:33
采纳率:0%
帮助的人:45.7万
展开全部
网上借鉴的,思路如下
WebBrowser没有mouseMove事件,但它还是由WinControl继承下来的,所以有窗体handle,自定义一个win消息捕获来自此handle的鼠标移动

use MSHTML;
private
{ Private declarations }
FLoaded: Boolean;
procedure AppMsg(var Msg: TagMsg; var Handled: Boolean);
procedure GetContronl;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
FLoaded:=False;
Application.OnMessage := AppMsg;
wb1.Navigate('about:<head><title>标题></title><body>页面内容</body>');
end;

procedure TForm1.wb1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
FLoaded:=True;
end;

procedure TForm1.AppMsg(var Msg: TagMsg; var Handled: Boolean);
var
mPoint : TPoint;
begin
if IsChild(wb1.Handle, Msg.Hwnd) and
(Msg.Message = WM_MOUSEMOVE) and FLoaded then
begin
GetCursorPos(mPoint);
Caption:=IntToStr(mPoint.X);
GetContronl;
Handled:=True;
end;
end;

procedure TForm1.GetContronl;
var
myPoint: TPoint;
begin
//myPoint := Mouse.CursorPos;
myPoint := wb1.ScreenToClient(myPoint);
Caption := IntToStr(myPoint.X)+'+'+IntToStr(myPoint.Y);
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式