若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

CDC::Polygon

 

繪製由兩個以上的點 (頂點) 的多邊形連接由線條,使用畫筆的目前畫筆。


      BOOL Polygon(
   LPPOINT lpPoints,
   int nCount 
);

lpPoints

為指定多邊形的頂點的陣列的點。陣列中的每一個點是 結構或 CPoint 物件。

nCount

在陣列指定頂點數量。

如果不是零,則函式成功,則為 0。

系統會繪製一條線,在必要時自動封閉多邊形,從最後一個端點加入至第一個。

您可以使用 GetPolyFillModeSetPolyFillMode 成員函式,目前多邊形填滿模式可以擷取或設定。

void CDCView::DrawPolygon(CDC* pDC)
{
   // find the client area
   CRect rect;
   GetClientRect(rect);

   // draw with a thick blue pen
   CPen penBlue(PS_SOLID, 5, RGB(0, 0, 255));
   CPen* pOldPen = pDC->SelectObject(&penBlue);

   // and a solid red brush
   CBrush brushRed(RGB(255, 0, 0));
   CBrush* pOldBrush = pDC->SelectObject(&brushRed);

   // Find the midpoints of the top, right, left, and bottom
   // of the client area. They will be the vertices of our polygon.
   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;

   // Calling Polygon() on that array will draw three lines
   // between the points, as well as an additional line to
   // close the shape--from the last point to the first point
   // we specified.
   pDC->Polygon(pts, 4);

   // Put back the old objects.
   pDC->SelectObject(pOldPen);
   pDC->SelectObject(pOldBrush);
}

需求

Header: afxwin.h

顯示: