VC API编程时绘图函数Polygon()怎么用,括号里面填什么参数?越具体越好,谢谢!
展开全部
VC里的Polygon是画多边形的函数,原型为:BOOL Polygon( LPPOINT lpPoints, int nCount )
第一个参数是指定为多边形顶点的数组,数据类型为CPoint实例或是POINT结构型。
第二个参数是多边形顶点的个数。
假设是画5边形,则第一个lpPoints为5个POINT数组,nCount为5。
给个例子,把用区域的每边中点作为顶点画出四边形:
void CMyView::OnDraw(CDC* pDC)
{
CRect rect;
GetClientRect(rect); //获得用户区域大小
CPen penBlue(PS_SOLID, 5, RGB(0, 0, 255));
CPen* pOldPen = pDC->SelectObject(&penBlue); //蓝笔红刷
CBrush brushRed(RGB(255, 0, 0));
CBrush* pOldBrush = pDC->SelectObject(&brushRed);
CPoint pts[4];
pts[0].x = rect.left + rect.Width()/2;
pts[0].y = rect.top;
pts[1].x = rect.right;
pts[1].y = rect.top + rect.Height()/2;
pts[2].x = pts[0].x;
pts[2].y = rect.bottom;
pts[3].x = rect.left;
pts[3].y = pts[1].y;
pDC->Polygon(pts, 4);
// Put back the old objects.
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
}
希望对你有帮助。
第一个参数是指定为多边形顶点的数组,数据类型为CPoint实例或是POINT结构型。
第二个参数是多边形顶点的个数。
假设是画5边形,则第一个lpPoints为5个POINT数组,nCount为5。
给个例子,把用区域的每边中点作为顶点画出四边形:
void CMyView::OnDraw(CDC* pDC)
{
CRect rect;
GetClientRect(rect); //获得用户区域大小
CPen penBlue(PS_SOLID, 5, RGB(0, 0, 255));
CPen* pOldPen = pDC->SelectObject(&penBlue); //蓝笔红刷
CBrush brushRed(RGB(255, 0, 0));
CBrush* pOldBrush = pDC->SelectObject(&brushRed);
CPoint pts[4];
pts[0].x = rect.left + rect.Width()/2;
pts[0].y = rect.top;
pts[1].x = rect.right;
pts[1].y = rect.top + rect.Height()/2;
pts[2].x = pts[0].x;
pts[2].y = rect.bottom;
pts[3].x = rect.left;
pts[3].y = pts[1].y;
pDC->Polygon(pts, 4);
// Put back the old objects.
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
}
希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询