Поделиться через


CRect::IntersectRect

Выполняет CRect равным пересечению 2 существующих прямоугольников.

BOOL IntersectRect( 
   LPCRECT lpRect1, 
   LPCRECT lpRect2  
) throw( );

Параметры

  • lpRect1
    Указывает на RECT составляющих или объекту CRect, содержащие прямоугольник источника.

  • lpRect2
    Указывает на RECT составляющих или объекту CRect, содержащие прямоугольник источника.

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

Ненулевой, если пересечение не пуст; 0, если пересечение пусто.

Заметки

Пересечение самый большой прямоугольник, содержащихся в обоих существующих прямоугольниках.

Примечание

Оба прямоугольников, необходимые для нормализации, либо эта функция может завершиться ошибкой.Можно вызвать NormalizeRect для нормализации прямоугольники перед вызовом этой функции.

Пример

CRect rectOne(125,   0, 150, 200);
CRect rectTwo(0,  75, 350,  95);
CRect rectInter;

rectInter.IntersectRect(rectOne, rectTwo);

// rectInter is now (125, 75, 150, 95)

ASSERT(rectInter == CRect(125, 75, 150, 95));

// operator &= can do the same task:

CRect rectInter2 = rectOne;
rectInter2 &= rectTwo;
ASSERT(rectInter2 == CRect(125, 75, 150, 95));   

Требования

Header: atltypes.h

См. также

Ссылки

CRect Class

Диаграмма иерархии

CRect::operator &=

CRect::operator &

CRect::UnionRect

CRect::SubtractRect

CRect::NormalizeRect

IntersectRect