
在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来获取控件坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)