MFC:判断点(POINT)是否在某一区域(CRect)

来源:互联网 发布:centos查看防火墙端口 编辑:程序博客网 时间:2024/05/18 02:09

转载  

http://zhidao.baidu.com/link?url=6M9gcSp0AQSW3vvZnx-pjKJfgowYGLQ_fmQbLd2R_8mj_AmU_ErdRHgopmD7FUVLuGsLdAknj394i5Uqa2xrx_


MFC:判断点是否在某一区域

2013-08-25 19:25炮姐428 | 分类:VC++ | 浏览708次
2013-08-25 19:39提问者采纳
1.判断一点是否在矩形区域内的方法:CRect rc (point_1,point_2);//构造矩形区域调用CRect::PtInRectBOOL 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区域内;

0 0
原创粉丝点击