Всем привет!
Как узнать, что мышь ушла с поверхности пикчебокса? Вокруг него всего много и по разному раскладываются. А для всех элемент_маусемув писать не хочется. Можно ли что-то сделать?
Спасибо!
'Создай форму, в ней PictureBox1 и Timer1
Option Explicit
'Положение курсора
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
xMouse As Long
yMouse As Long
End Type
Private xMouse_ As Long '
Private yMouse_ As Long '
Private Sub Form_Initialize()
Timer1.Enabled = False
Timer1.Interval = 100
Picture1.BackColor = vbBlack
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.BackColor = vbRed ' Мы навели курсор на PictureBox1
Dim CursorPosition As POINTAPI
GetCursorPos CursorPosition
xMouse_ = CursorPosition.xMouse
yMouse_ = CursorPosition.yMouse
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim CursorPosition As POINTAPI
GetCursorPos CursorPosition
If CursorPosition.xMouse <> xMouse_ Or CursorPosition.yMouse <> yMouse_ Then ' Мы не находимся на PictureBox1
Timer1.Enabled = False
Picture1.BackColor = vbBlack
Exit Sub
End If
End Sub
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2