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


CRect::PtInRect

Определяет, находится ли указанная точка внутри CRect.

BOOL PtInRect( 
   POINT point  
) const throw( );

Параметры

  • point
    Содержит структуру ТОЧКА или объект CPoint.

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

Ненулевой, если точка находится в пределах CRect; в противном случае – значение 0.

Заметки

Точка в пределах CRect, если он находится на левой или в верхней части или всех 4 стороны. Наведите курсор на стороне внешнего CRect правому или нижнему краю.

Примечание

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

Пример

CRect rect(5, 5, 100, 100);
CPoint pt1(35, 50);
CPoint pt2(125, 298);

// this is true, because pt1 is inside the rectangle
ASSERT(rect.PtInRect(pt1));

// this is NOT true, because pt2 is outside the rectangle
ASSERT(!rect.PtInRect(pt2));

// note that the right and the bottom aren't inside
ASSERT(!rect.PtInRect(CPoint(35, 100)));
ASSERT(!rect.PtInRect(CPoint(100, 98)));

// but the top and the left are inside
ASSERT(rect.PtInRect(CPoint(5, 65)));
ASSERT(rect.PtInRect(CPoint(88, 5)));

// and that PtInRect() works against a POINT, too
POINT pt;
pt.x = 35;
pt.y = 50;
ASSERT(rect.PtInRect(pt));   

Требования

Header: atltypes.h

См. также

Ссылки

CRect Class

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

CRect::NormalizeRect

PtInRect