用delphi怎么实现状态栏显示鼠标坐标在窗口中的位置?
各位高手大帮帮忙:用delphi怎么实现状态栏显示鼠标坐标在窗口中的位置?我用下面的方法实现不了,下面的方法实现的只有当鼠标在状态栏上面时才显示坐标。当鼠标在其他位置时就...
各位高手大帮帮忙:用delphi怎么实现状态栏显示鼠标坐标在窗口中的位置?我用下面的方法实现不了,下面的方法实现的只有当鼠标在状态栏上面时才显示坐标。当鼠标在其他位置时就没有显示了。procedure TForm1.StatusBar1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
strpos:string;
pt:TPoint;
begin
GetCursorPos(pt);
pt:=webbrowser1.ScreenToClient(pt);
strpos:=format('%d,%d',[X,Y]); //获取鼠标指针的当前坐标
statusbar1.Panels[0].Text:=strpos;
end; 展开
X, Y: Integer);
var
strpos:string;
pt:TPoint;
begin
GetCursorPos(pt);
pt:=webbrowser1.ScreenToClient(pt);
strpos:=format('%d,%d',[X,Y]); //获取鼠标指针的当前坐标
statusbar1.Panels[0].Text:=strpos;
end; 展开
3个回答
2013-09-15
展开全部
加入这个组件TApplicationEvents,在这个组件的onMessage事件加入以下代码,你再设一下你的webbrowser1.ScreenToClient(pt);,我就不演示
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if msg.message=WM_MOUSEMOVE then
begin
statusbar1.Panels[0].Text:=inttostr(msg.pt.X)+','+inttostr(msg.pt.y);
end;
end;
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if msg.message=WM_MOUSEMOVE then
begin
statusbar1.Panels[0].Text:=inttostr(msg.pt.X)+','+inttostr(msg.pt.y);
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,将获取鼠标坐标的代码放到FormMouseMove事件中就可以啦,你写到StatusBarMouseMove中,表示鼠标在状态栏上滑动的时候才执行这些代码,当然在窗口中没有反应啦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-15
展开全部
写在窗口的Move事件里。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询