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