Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
Функция возвращает ненулевое значение, если точка лежит внутри прямоугольника и 0, если снаружи (используйте GetLastError для получения кода ошибки)
' Определяем, является ли курсор мыши внутри или вне окна Form1. ' Для этого проверяем точку курсора мыши с прямоугольником окна Dim mousept As POINTAPI ' получаем координаты курсора Dim winrect As RECT ' получаем прямоугольник Form1 Dim isinside As Long ' возвращает 1 если внутри или 0 если снаружи Dim retval As Long ' возвращаемое значение для других функций retval = GetCursorPos(mousept) ' определяем позицию курсора retval = GetWindowRect(Form1.hWnd, winrect) ' определяем прямоугольник формы Form1 ' Выясним, расположен ли курсор мыши внутри прямоугольника Form1 isinside = PtInRect(winrect, mousept.x, mousept.y) If isinside = 1 Then Debug.Print "Курсор мыши сейчас внутри Form1" Else Debug.Print "Курсор мыши сейчас вне Form1" End If