Функция IntersectRect

Declare Function IntersectRect Lib "user32.dll" (lpDestRect As RECT, lpSrc1Rect As RECT, lpSrc2Rect As RECT) As Long

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

IntersectRect создает прямоугольник, основанный на пересекающейся части двух других прямоугольников. Прямоугольная область(регион), где два исходных прямоугольника,перекрывая,создают перекрестный прямоугольник. Если один или оба из исходных прямоугольников пуст или не имеется никакого пересечения, функция возвращает 0, и прямоугольник lpDestRect установлен в (0,0) - (0,0). Если исходные прямоугольники накладываются, пересечение помещено в lpDestRect, и функция возвращает 1.

lpDestRect
Прямоугольник, который будет установлен как пересечение из двух исходных прямоугольников.
lpSrc1Rect
Первый исходный прямоугольник.
lpSrc2Rect
Второй исходный прямоугольник.

Пример:

' Определим, накладываются ли окна Form1 и Form2 на
' экране. Если нет,то перекрестный прямоугольник будет пуст.
Dim intrect As RECT  'Получим перекрестный прямоугольник
Dim window1 As RECT, window2 As RECT  ' Получим прямоугольники Form1 и Form2
Dim result As Long  'будет установлен в 0, если нет никакого пересечения или в 1, если имеется пересечение
Dim retval As Long  ' возвращаемое значение для других функций

retval = GetWindowRect(Form1.hWnd, window1)  ' Получим прямоугольник Form1
retval = GetWindowRect(Form2.hWnd, window2)  'Получим прямоугольник Form2
result = IntersectRect(intrect, window1, window2)  ' Определяем перекрестный прямоугольник
If result = 0  Then
  Debug.Print "Окна Form1 и Form2 не накладываются на экране."
Else
  Debug.Print "Окна Form1 и Form2 накладываются на экране."
End If

Схожие функции: SubtractRect, UnionRect
Категория: Прямоугольники

В начало.