VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!

VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!,第1张

在VB工程里新建一个Form1

在Form1上添加一个按纽Command1 和两个标签Label1和Label2

然后在Form1代码窗口里粘贴如下代码:

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim a As Single

Dim b As Single

MeLabel1 = X

MeLabel2 = Y

End Sub

按F5运行后,鼠标晃动到按纽Command1上时,可以看到Label1和Label2里面有数值在快速变化

该数字就是鼠标在按纽上的XY坐标

Private Sub Command1_MouseMove()就是Command1的鼠标移动事件

同理:

所有拥有MouseMove事件的控件都能用这个方法取得鼠标的当前坐标

在VB中如何获得tchart控件中图象的坐标值方法:

备注:Series(0)为相对误差系列,Series(1)为实测流量系列,Series(2)为雨量系列

'显示图2的坐标

Private Sub TChart2_OnMouseMove(ByVal Shift As TeeChartEShiftState, ByVal X As Long, ByVal Y As Long)

Dim somebar As Single ‘定义变量

With TChart2Series(0)

somebar = Clicked(X, Y) ’获得鼠标点击的地方的坐标

If somebar <> -1 Then ‘判断,没有什么具体意义

Label27ForeColor = PointColor(somebar) ’标签中字体颜色和点击的系列相同

Label27Caption = Format(XValuesValue(somebar) + 3, "0000") + "相对误差:" + Format(YValuesValue(somebar), "00") + " %" ‘显示坐标

End If

End With

With TChart2Series(1)

somebar = Clicked(X, Y)

If somebar <> -1 Then

Label27ForeColor = PointColor(somebar)

Label27Caption = Format(XValuesValue(somebar) + 3, "0000") + "计算流量:" + Format(YValuesValue(somebar), "00") + " m3/s"

End If

End With

With TChart2Series(2)

somebar = Clicked(X, Y)

If somebar <> -1 Then

Label27ForeColor = PointColor(somebar)

Label27Caption = Format(XValuesValue(somebar) + 3, "0000") + "雨量:" + Format(YValuesValue(somebar), "00") + " mm"

End If

End With

End Sub

以上显示的是三个系列的坐标。是以水文学及水资源专业为例的。仅供参考。

比如说有一个button1,那么获取X坐标就是:int x=button1LocationX;

获取y坐标就是:int y=button1LocationY;

祝你好运啊,学习顺利进步

有几种方法实现:

1创建一个桌面大小的"透明窗体",并且边框设为0。这样窗口坐标就是桌面坐标,在自己程序的消息循环中捕获鼠标消息就行了。QQ、RTX的"屏幕截图"功能就是这样实现的。

2使用SetWindowsHookEx捕获WH_MOUSE、WH_GETMESSAGE消息。并将SetWindowsHookEx的第四个参数设置为NULL,捕获全局的消息。然后在第二个参数的回调函数中调用CallNextHookEx,以及监听鼠标消息。程序关闭后,别忘记调用UnhookWindowsHookEx。还有就是程序要写在DLL中,因为系统会把它注入到其它进程中去捕获消息的。可以参考网上SetWindowsHookEx实现键盘记录的例子,实现鼠标记录。

3驱动中Inline Hook Mouclass鼠标类驱动的MouseClassServiceCallback函数,获得鼠标输入。

建议使用1、2中的一种方法。没必要开发驱动,这里只是介绍有几种方法可以获得鼠标全局点击事件。

来自:>

以上就是关于VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!全部的内容,包括:VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!、在VB中如何获得tchart控件中图象的坐标值、C# 怎么通过控件的ID来获取控件坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9564076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存