Функция SubtractRect

Declare Function SubtractRect Lib "user32" (lprcDst As RECT, lprcSrc1 As RECT, lprcSrc2 As RECT) As Long
SubtractRect вычитает один прямоугольник от другого. Вычитание прямоугольника определено следующим образом. Два прямоугольника должны пересечься полностью по одной полной стороне. Другими словами, они должны совместно использовать общую сторону. Если это истинно, то прямоугольник, который не является частью второго прямоугольника - также прямоугольник. Этот прямоугольник - прямоугольник вычитания. Этот прямоугольник помещен в переменную lprcDst
lprcDst
Получаемый прямоугольник вычитания
lprcSrc1
Первый исходный прямоугольник
lprcSrc2
Второй исходный прямоугольник

Пример

' Демонстрация вычитания. target = big - small.
' big = (10,10)-(100,100).  small = (50,10)-(150,150).
' Обратите внимание, что левая сторона этих двух прямоугольников
' общая. target будет установлен в (10,10) - (50,100)
Dim target As RECT, big As RECT, small As RECT
Dim retval As Long ' возвращаемое значение

' Создаем два прямоугольника
retval = SetRect(big, 10, 10, 100, 100) 
retval = SetRect(small, 50, 10, 150, 150) 

' Вычитаем маленький прямоугольник из большого
' и помещаем результат в target
retval = SubtractRect(target, big, small)

Смотри также

IntersectRect, UnionRect

Категория

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