mfc

1.判断一点是否在矩形区域内的方法:
CRect rc (point_1,point_2);//构造矩形区域
调用CRect::PtInRect
BOOL flag = rc.PtInRect(point_key);if (flag){点point_key在构造的矩形区域内;}else点point_key不在构造的矩形区域内;
2.判断一点是否在否个多边形区域内的方法:
用CRgn::CreatePolygonRgn
这个函数,构造一个区域
CRgn rgnA ;
CPoint ptVertex[3];
ptVertex[0] = point_1;
ptVertex[1] = point_2;
ptVertex[2] = point_3;
//这里只说明三角形的情况,其他类比即可!
rgnA.CreatePolygonRgn(ptVertex , 3 , ALTERNATE);
然后再调用PtInRegion去判断
BOOL flag= rgnA.PtInRegion(point_key);if (flag){点point_key在构造的多边形区域内;}else点point_key不在构造的多边形区域内;
3.判断一点是否在椭圆形区域内CRgn rgnB;rgnB.CreateEllipticRgn(point_1.x,point_1.y,point_2.x,point_2.y);
BOOL flag = rgnB.PtInRegion(point_key);if (flag){点point_key在rgnB区域内;}else点point_key不在rgnB区域内;


你可能感兴趣的:(mfc)