void DrawPolygonElement(CDC*pDC)
{
pPtArray[1].x =240;
pPtArray[1].y =240;
pPtArray[2].x =0;
pPtArray[2].y =240;
pPtArray[3].x =0;
pPtArray[3].y =0;
pPtArray[4].x =240;
pPtArray[4].y =0;
pPtArray[5].x =240;
pPtArray[5].y =240;
pPtArray[6].x =83;
pPtArray[6].y =10;
pPtArray[7].x =183;
pPtArray[7].y =10;
pPtArray[8].x =200;
pPtArray[8].y =60;
pPtArray[9].x =180;
pPtArray[9].y =169;
pPtArray[10].x =38;
pPtArray[10].y =157;pPtArray[11].x =83;
pPtArray[11].y =10;pPolygonCount = new int[2];
pPolygonCount[0] = 5;
pPolygonCount[1] = 6;iCount = 1;
if ( iCount > 1)
{
HDC hdc = pDC->m_hDC;
// pDC->SetPolyFillMode(ALTERNATE);
pDC->PolyPolygon(&pPtArray[1],pPolygonCount,iCount); //绘制复合多边形
for(int i = 0;i< 29;i++)
TRACE(L"%d,%d^^\n",pPtArray[i].x,pPtArray[i].y);
}
else
// pDC->Polygon(&pPtArray[1], 5);
pDC->Polygon(&pPtArray[6], 6); //icount == 1的时候,单纯画两个多边形中的其中一个都没有问题而当icount〉1的时候,画出来的就不是不对了为什么
{
pPtArray[1].x =240;
pPtArray[1].y =240;
pPtArray[2].x =0;
pPtArray[2].y =240;
pPtArray[3].x =0;
pPtArray[3].y =0;
pPtArray[4].x =240;
pPtArray[4].y =0;
pPtArray[5].x =240;
pPtArray[5].y =240;
pPtArray[6].x =83;
pPtArray[6].y =10;
pPtArray[7].x =183;
pPtArray[7].y =10;
pPtArray[8].x =200;
pPtArray[8].y =60;
pPtArray[9].x =180;
pPtArray[9].y =169;
pPtArray[10].x =38;
pPtArray[10].y =157;pPtArray[11].x =83;
pPtArray[11].y =10;pPolygonCount = new int[2];
pPolygonCount[0] = 5;
pPolygonCount[1] = 6;iCount = 1;
if ( iCount > 1)
{
HDC hdc = pDC->m_hDC;
// pDC->SetPolyFillMode(ALTERNATE);
pDC->PolyPolygon(&pPtArray[1],pPolygonCount,iCount); //绘制复合多边形
for(int i = 0;i< 29;i++)
TRACE(L"%d,%d^^\n",pPtArray[i].x,pPtArray[i].y);
}
else
// pDC->Polygon(&pPtArray[1], 5);
pDC->Polygon(&pPtArray[6], 6); //icount == 1的时候,单纯画两个多边形中的其中一个都没有问题而当icount〉1的时候,画出来的就不是不对了为什么
pPtArray[1].x =240; C的数组的起始是从0开始的
-------------
这个也要改啊
pDC->PolyPolygon(pPtArray,pPolygonCount,iCount); //绘制复合多边形