回 帖 发 新 帖 刷新版面

主题:[讨论]如何获取新坐标系中的鼠标的坐标

请问各位大侠,怎么样在vb 中  获取用户坐标系统中当前鼠标的坐标?

回复列表 (共4个回复)

沙发

在控件的 MouseMove 事件中应该可以获取
例如:你的pic1设置为:

pic1.ScaleMode = 3:pic1.ScaleWidth = 35: pic1.ScaleHeight = 30

Private Sub pic1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print Int(X), Int(Y)
End Sub

那么,当鼠标位于Pic1的四角时,就可以得到
0             0     (左上)
 34            0    (右上)
 0             29   (左下)
 34            29   (右下)
四个数值。
注意pic1.ScaleWidth = 35: pic1.ScaleHeight = 30这两句与Pic1实际的Width和Height无关

板凳

very good !但不是我所想要的那种啊,我的意思是以form1.scalelet=xx,form1.scaletop=xx,即以窗体为对象,坐标原点在窗体中心,以form1_clik() 的方式去显示,新坐标系中单击位置处的坐标

3 楼


谢谢!由于你的启示,问题已解决,追加你+30

4 楼

可以用API的
Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

定义一个type POINTAPI(X AS LONG,Y AS LONG)

dim p1 as pointapi

res=getcursorpos(p1)

p1.x 和p2.y 就是你想要的

我来回复

您尚未登录,请登录后再回复。点此登录或注册