'以下程式在.bas Type RECT Left As Long ToP As Long Right As Long Bottom As Long End Type Type POINTAPI X As Long Y As Long End TypeDeclare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Public Sub MoveCursor(FromP As POINTAPI, ToP As POINTAPI) Dim stepx As Long, stepy As Long, k As Long Dim i As Long, j As Long, sDelay As Long stepx = 1 stepy = 1 i = (ToP.X - FromP.X) If i < 0 Then stepx = -1 i = (ToP.Y - FromP.Y) If i < 0 Then stepy = -1 'Call EnableHook '如果有Include htmapi53.htm的.bas时,会Disable Mouse For i = FromP.X To ToP.X Step stepx Call SetCursorPos(i, FromP.Y) Sleep (1) '让Mouse 的移动慢一点,这样效果较好 Next i For i = FromP.Y To ToP.Y Step stepy Call SetCursorPos(ToP.X, i) Sleep (1) Next i 'Call FreeHook 'Enable Mouse End Sub '以下程式在Form中,需3个Command按键 Private Sub Command3_Click() Dim rect5 As RECT Dim p1 As POINTAPI, p2 As POINTAPI Call GetWindowRect(Command1.hwnd, rect5) '取得Command1相对於Screen的座标 p1.X = (rect5.Left + rect5.Right) \ 2 p1.Y = (rect5.ToP + rect5.Bottom) \ 2 Call GetWindowRect(Command2.hwnd, rect5) p2.X = (rect5.Left + rect5.Right) \ 2 p2.Y = (rect5.ToP + rect5.Bottom) \ 2Call MoveCursor(p1, p2) 'Mouse由Command1 ->Command2 End Sub
Type RECT
Left As Long
ToP As Long
Right As Long
Bottom As Long
End Type
Type POINTAPI
X As Long
Y As Long
End TypeDeclare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Public Sub MoveCursor(FromP As POINTAPI, ToP As POINTAPI)
Dim stepx As Long, stepy As Long, k As Long
Dim i As Long, j As Long, sDelay As Long
stepx = 1
stepy = 1
i = (ToP.X - FromP.X)
If i < 0 Then stepx = -1
i = (ToP.Y - FromP.Y)
If i < 0 Then stepy = -1
'Call EnableHook '如果有Include htmapi53.htm的.bas时,会Disable Mouse
For i = FromP.X To ToP.X Step stepx
Call SetCursorPos(i, FromP.Y)
Sleep (1) '让Mouse 的移动慢一点,这样效果较好
Next i
For i = FromP.Y To ToP.Y Step stepy
Call SetCursorPos(ToP.X, i)
Sleep (1)
Next i
'Call FreeHook 'Enable Mouse
End Sub
'以下程式在Form中,需3个Command按键
Private Sub Command3_Click()
Dim rect5 As RECT
Dim p1 As POINTAPI, p2 As POINTAPI
Call GetWindowRect(Command1.hwnd, rect5) '取得Command1相对於Screen的座标
p1.X = (rect5.Left + rect5.Right) \ 2
p1.Y = (rect5.ToP + rect5.Bottom) \ 2
Call GetWindowRect(Command2.hwnd, rect5)
p2.X = (rect5.Left + rect5.Right) \ 2
p2.Y = (rect5.ToP + rect5.Bottom) \ 2Call MoveCursor(p1, p2) 'Mouse由Command1 ->Command2
End Sub
我开始有一个窗体A,然后我双击窗体A上一个控件弹出一个窗体B
当双击显示B后,如果鼠标位于B内,窗体B居然响应一个单击事件。
我不想要这个单击事件,
如何屏蔽它?????大侠帮忙,不过可以加分。