Функция PtInRect

Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
PtInRect определяет, находится ли точка внутри или вне прямоугольника. Обратите внимание, что Windows рассматривает левые и верхние грани прямоугольника, как внутренние части, а правые и нижние грани, как не входящие в фигуру

Возвращаемое значение

Функция возвращает ненулевое значение, если точка лежит внутри прямоугольника и 0, если снаружи (используйте GetLastError для получения кода ошибки)

Параметры

lpRect
Прямоугольник
x
Координата x точки, чтобы определить - внутри или вне фигуры
y
Координата y точки, чтобы определить - внутри или вне фигуры

Пример

' Определяем, является ли курсор мыши внутри или вне окна 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

Категория

Прямоугольники