首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb中怎么获取鼠标的坐标

2012-12-27 
vb中如何获取鼠标的坐标在vb中我画了一个picturebox,想实现当鼠标移动(不发生单击之类的任何事件)到pictur

vb中如何获取鼠标的坐标
在vb中我画了一个picturebox,想实现当鼠标移动(不发生单击之类的任何事件)到picturebox中时就在鼠标旁边显示鼠标在此图片框中的坐标,并能随着鼠标的移动而变化。想了好久没头绪,不知道如何判断鼠标移动到了picturebox的范围内,还有如何获取鼠标在picturebox中的坐标,小弟对vb不是很懂,望各位大侠指点一二,能给源码最好,烦的话给个大致思路也行,我自己再琢磨琢磨,谢谢了~~~
[解决办法]

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.Left = X + 100
    Label2.Left = X + 100
    Label1.Top = Y
    Label2.Top = Y + 200
    Label1.Caption = "X=" & X
    Label2.Caption = "Y=" & Y
End Sub

[解决办法]
突然发现,我怎么这么笨啊........
我改了下,有个问题,有时鼠标移出了picturebox,可label1依然在图片框中显示,怎么让它当鼠标移出picturebox时隐藏?我写的代码如下(窗体和图片框ScaleMode属性为3-pixel):
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Label1.Left = X
   Label1.Top = Y - 10
   Label1.Caption = Str(X) + "," + Str(Y)
End Sub
[解决办法]
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.Visible = False
    Label2.Visible = False
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.Visible = True
    Label2.Visible = True
    Label1.Left = X + 100
    Label2.Left = X + 100
    Label1.Top = Y
    Label2.Top = Y + 200
    Label1.Caption = "X=" & X
    Label2.Caption = "Y=" & Y
End Sub

[解决办法]
谢谢zdingyun了,受教了~~~
现在利用你的方法我写了一个程序,想在图片框中移动时显示鼠标的坐标,同时鼠标在图片框中单击获得几个点,并连起来形成一条折线,不知道为什么鼠标在图片框中移动能显示坐标,但单击时就是不画直线,是不是当鼠标在图片框中时一直在执行Picture1_MouseMove事件而Picture1_MouseDown事件没有执行?这要怎么解决?本来想等这个实现了还想做一下选中折线中的某个顶点,拖动这个顶点,同时显示变化的折线,看来不简单....
这是我写的代码,望指正~!
Dim a(10) As Integer, b(10) As Integer
Dim t As Integer

Private Sub Form_Load()
t = 0
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Visible = False
End Sub


Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Cls
 a(t) = X: b(t) = Y
 t = t + 1
For i = 0 To t - 2
 Picture1.Line (a(i), b(i))-(a(i + 1), b(i + 1))
Next

End Sub

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


Label1.Visible = True
Label1.Left = X
Label1.Top = Y - 10
Label1.Caption = Str(X) + "," + Str(Y)
End Sub

[解决办法]

引用:
怎么让它当鼠标移出picturebox时隐藏?

在其父容器的鼠标事件里隐藏.

如楼上的代码.
[解决办法]
受教,刚学vb,知道了很多了

热点排行