CDC::Polygon

Zeichnet ein Polygon vorhandene zwei oder mehr zeigt (Eckpunkte) durch Linien verbunden, unter Verwendung des aktuellen Stiftes.

BOOL Polygon(
   LPPOINT lpPoints,
   int nCount 
);

Parameter

  • lpPoints
    Zeigt auf einem Array von Punkten, das die Eckpunkte des Polygons angibt.Jeder Punkt im Array ist eine POINT-Struktur oder ein CPoint-Objekt.

  • nCount
    Gibt die Anzahl der Eckpunkte im - Array.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.

Hinweise

Das System schließt das Polygon automatisch ggf., indem eine Zeile aus dem letzten Eckpunkt zum ersten zeichnet.

Der aktuelle Polygonfüllungsmodus kann abgerufen werden oder festgelegt werden, indem die GetPolyFillMode und SetPolyFillMode-Memberfunktionen verwendet.

Beispiel

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);
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDC-Klasse

Hierarchien-Diagramm

CDC::GetPolyFillMode

CDC::Polyline

CDC::PolyPolygon

CDC::SetPolyFillMode

CPoint-Klasse

Polygon