判断点在矩形内!!(MFC)

/*
CRect::PtInRect  

Determines whether the specified point lies within CRect.
*/


BOOL PtInRect( 
   POINT point  
const throw( );

/*
Parameters
point
Contains a POINT structure or CPoint object.

Return Value

Nonzero if the point lies within CRect; otherwise 0.

Remarks

A point is within CRect if it lies on the left or top side or is within all four sides. A point on the right or bottom side is outside CRect.

Note  
The rectangle must be normalized or this function may fail. You can call NormalizeRect to normalize the rectangle before calling this function.
 

Example
*/


CRect rect(
55100100);
CPoint pt1(
3550);
CPoint pt2(
125298);

// 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(35100)));
ASSERT(
!rect.PtInRect(CPoint(10098)));

// but the top and the
ASSERT(rect.PtInRect(CPoint(565)));
ASSERT(rect.PtInRect(CPoint(
885)));

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

Reference
CRect Class
Hierarchy Chart
CRect::NormalizeRect
PtInRect

Other Resources
CRect Members
*/
 
阅读更多
换一批

没有更多推荐了,返回首页