![]() ![]() |
|
设定Mouse在某个固定范围 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:44:24 文章录入:杜斌 责任编辑:杜斌 | |
|
|
Left As Long Top As Long Right As Long Bottom As Long End Type Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long Declare Function SetCursorPos Lib "user32" (ByVal x As Long, _ ByVal y As Long) As Long Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" _ (ByVal hwnd As Long, lpRect As RECT) As Long 注释:设定Mouse可移动的围是在某个control项之内 Public Function toLockCursor(ByVal ctlHwnd As Long) As Boolean Dim rect5 As RECT Dim res As Long GetWindowRect ctlHwnd, rect5 注释:取得window的四个角 rect5.Top = rect5.Top rect5.Left = rect5.Left rect5.Bottom = rect5.Bottom rect5.Right = rect5.Right SetCursorPos (rect5.Top + rect5.Bottom) 2, (rect5.Left + rect5.Right) 2 res = ClipCursor(rect5) If res = 1 Then toLockCursor = True Else toLockCursor = False End If End Function 注释:设定Mouse移动的围为个萤幕 Public Sub toUnLockCursor() Dim rscreen As RECT rscreen.Top = 0 rscreen.Left = 0 rscreen.Right = Screen.Width Screen.TwipsPerPixelX rscreen.Bottom = Screen.Height Screen.TwipsPerPixelY ClipCursor rscreen End Sub 例如:设定Mouse只能在Form的范围 Private Sub Command1.Click() Call toLockCursor(Me.hWnd) End Sub Private Sub Command2.Click() Call toUnLockCursor() End Sub |
|
![]() ![]() |