VB Code:
  1. Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
  2. Private Declare Function ReleaseCapture Lib "user32" () As Long
  3. Private Declare Function GetCapture Lib "user32" () As Long
  4.  
  5. Private Sub cmdTest_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  6. If Index = 1 Then
  7.     If (X < 0) Or (Y < 0) Or (X > cmdTest(Index).Width) Or (Y > cmdTest(Index).Height) Then ' the MOUSELEAVE pseudo-event
  8.            ReleaseCapture
  9.            cmdTest(Index).BackColor = &H8000000F
  10.     ElseIf GetCapture() <> cmdTest(Index).hwnd Then
  11.            SetCapture cmdTest(Index).hwnd
  12.            cmdTest(Index).BackColor = vbCyan
  13.     End If
  14. End If
  15. End Sub