MFC:判斷點(POINT)是否在某一區域(CRect)
阿新 • • 發佈:2019-01-06
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區域內;