VB怎么样让鼠标的x和y坐标显示在界面上我指定的一个位置?当我鼠标移动的时候他即时更新x,y坐标.

当我鼠标移动的时候他即时更新x,y坐标.对VB不熟悉,希望那位达人帮说下建立什么控件加什么代码具体点教育教育一下我。
截取鼠标坐标后是我需要的是当我按一我定义的一个键后把X和Y数值赋予在第一个TEXT文本框里,鼠标的坐标更新在标签上) 按我定义的键后自动写入text1,然后下次按的时候写在第二个text里。是这个意思!

第1个回答  2011-05-26
方法1:此方法仅限于窗体内判断
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Text = X & " " & Y
End Sub
方法2:
如果出窗体的话 就用到api函数了 增加一个Timer控件
Dim p As POINTAPI
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'lpPoint-鼠标坐标会储存到这个结构中
Private Sub Form_Load()
Timer1.Interval = 20
End Sub

Private Sub Timer1_Timer()
GetCursorPos p
Cls
Text1.Text = p.x & " " & p.y
End Sub追问

截取鼠标坐标后是我需要的是当我按一我定义的一个键后把X和Y数值赋予在第一个TEXT文本框里,然后开始记录第二个文本框,以此类推。(鼠标的坐标更新在标签上) 按我定义的键后自动写入text1,然后下次按的时候写在第二个text里。是这个意思!

追答

Dim a As Integer
Dim p As POINTAPI
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'lpPoint-鼠标坐标会储存到这个结构中
'------------------------------传说中的分割线-----------------------------------
'form1的KeyPreview属性设置成 True
'text1的Enabled属性设置成False
'创建数组控件
'----------------------------------end--------------------------------

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 97 Then '这里以A为例子
GetCursorPos p
Cls
If a < 2 Then
Text1(a).Text = p.x & " " & p.y
a = a + 1
Else
Text1(0).Text = p.x & " " & p.y
a = 1
End If
End If
End Sub
这样总是你需要的了把

追问

无效赋值啊,咋办?我复制的也不行,

本回答被提问者采纳
第2个回答  2011-06-05
'窗体上一个标签:Label1,两个文本框Text1,Text2,复制一下代码。

Dim Cs% '鼠标按键次数
Private Sub Form_Click() '窗体单击事件
Cs = Cs + 1
If Cs Mod 2 = 1 Then '奇数次时显示在第一个文本框
Text1.Text = Label1.Caption
Text2.Text = ""
Else '偶数次时显示在第二个文本框
Text2.Text = Label1.Caption
End If
End Sub
'------------------------------------------
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '鼠标在窗体上移动
Label1.Caption = "X:" & X & " _ Y:" & Y '标签1上显示
End Sub

如何在vb里制作鼠标移动时显示鼠标位置
在窗体上放个标签label1程序运行的时候移动鼠标,在鼠标的位置上显示出鼠标的坐标来。代码如下:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label1.Caption = "x=" & X & "y" & Y Label1.Left = X Label1.Top = Y End Sub ...

怎样用 vb 取得鼠标在窗口中的坐标?
思路是:当在窗体中单击,且松开鼠标键后,在Text1,Text2中分别显示鼠标在窗体中的位置的X,Y的值 Dim strSF As Boolean Private Sub Form_Load()strSF = False End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)strSF = True End Sub Priv...

VB获取鼠标在当前窗体的坐标
采用窗体的MouseMove事件来获取鼠标坐标是可以的。如下我在文本框中显示当前鼠标的坐标程序,鼠标移动,坐标自动更新,只需要一个文本框控件,代码如下:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Text1.Text = "当前鼠标坐标为,X:" & X & "Y:...

如何获得vb中鼠标在窗口的坐标
方法一: 直接用 MouseDown事件 举例:(这种方法获取的是点的位置在窗体中,却该对象有MouseDown事件才行,其坐标值为所在容器的相对坐标值)Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then Cls Print "X:"; X, "Y:"; Y En...

vb如何控制鼠标移动。例如在text1、text2中分别输入x、y坐标。单击按钮...
Private Declare Function SetCursorPos Lib "user32" ( _ByVal x As Long, _ByVal y As Long _) As Long Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)Private ...

如何实现Vb鼠标移动到某一位置 展现一些内容
你这描述的不够详细啊...移动到窗体的某个位置还是控件的某个位置 我不知道我说的符不符合你的要求,不懂追问 Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)label1.caption="1"你想要的是这样么?

vb 控制鼠标按要求移动。
首先用建立一个标准Exe程序'把窗体名称,设定为frmMain'在窗体上建立一组文本框数组,名称为txtMsg'txtMsg(0) -- 显示鼠标左键按下的次数'txtMsg(1) -- 显示鼠标中键按下的次数'txtMsg(2) -- 显示鼠标右键按下的次数'txtMsg(3) -- 显示鼠标按下的总次数 '然后建立一个Module,并输入以下...

vb 获取鼠标在窗口内的屏幕坐标
一、获取鼠标在屏幕上的坐标 '坐标显示在Text1,Text2.'建一个Timer1,Text1,Text2.'代码如下。'=== Private Type POINTAPI x As Long y As Long End Type Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Dim p As POINTAPI Private Sub Form_Load...

vb如何实现鼠标移动,箭头横坐标也跟着移动
然后你的功能应该可以通过在From上监测鼠标移动事件来完成 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '加上相应代码就行 'X、Y是鼠标的坐标End Sub百科上可以看详细介绍 http:\/\/baike.baidu.com\/link?url=-VJTsAaoaf9BR63NvMH_8p1GBC4...

VB里的mousemove事件举例
vb Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)' 在此处编写处理鼠标移动事件的代码 ' Button参数表示按下的鼠标按钮(如果有)' Shift参数表示是否同时按下了Shift、Ctrl或Alt键 ' X和Y参数表示鼠标指针在窗体上的位置 ' 例如,可以在窗体上显示...

相似回答