Функция PtInRect

Declare Function PtInRect Lib "user32.dll" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long

Платформа: Win 95/98, Win NT

PtInRect определяет, находится ли точка внутри или вне прямоугольника. Обратите внимание, что Windows рассматривает левые и верхние грани прямоугольника,как внутренние части, а правые и нижние грани,как не входящие в фигуры. Функция возвращает 1, если точка внутри или 0, если снаружи.

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

Категория: Прямоугольники

В начало.