VB判断鼠标移动方向

RCD8888 2012-07-05 02:16:51
VB如何判断鼠标移动方向?
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2012-07-08
  • 打赏
  • 举报
回复

Option Explicit
Private Type POINTAPI
x As Long
y As Long
End Type
Dim OldXY As POINTAPI
Dim NowXY As POINTAPI
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Sub Form_Load()
Dim lngP As Long
Timer1.Interval = 100
lngP = GetCursorPos(OldXY)
lngP = GetCursorPos(NowXY)
End Sub

Private Sub Timer1_Timer()
Dim lngP As Long
Dim strP As String
lngP = GetCursorPos(NowXY)
If OldXY.x - NowXY.x > 0 Then
strP = "向左平移;"
ElseIf OldXY.x - NowXY.x = 0 Then

Else
strP = "向右平移;"
End If
If OldXY.y - NowXY.y > 0 Then
strP = strP & "向上移动;"
ElseIf OldXY.y - NowXY.y = 0 Then

Else
strP = strP & "向下移动;"
End If
If strP <> "" Then Me.Caption = strP
lngP = GetCursorPos(OldXY)
End Sub

嗷嗷叫的老马 2012-07-07
  • 打赏
  • 举报
回复
RCD8888 2012-07-06
  • 打赏
  • 举报
回复
MYJIAN的思路好,看有谁贴好点的代码出来参考一下。
嗷嗷叫的老马 2012-07-05
  • 打赏
  • 举报
回复
要看移动方向,至少要在非同一时间内取两个不同的坐标.

然后先取的坐标为基准,与后取的坐标的XY相减.

结果为正,于X则说明是向左运动,于Y则是向上运动.

结果为负,自己推得出来了吧:)
熊孩子开学喽 2012-07-05
  • 打赏
  • 举报
回复
看坐标咯.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧