CDC::Polygon
Dessine un polygone deux ou plusieurs composants se passe (les sommets) connecté par des lignes, à l'aide de le stylet actuel.
BOOL Polygon(
LPPOINT lpPoints,
int nCount
);
Paramètres
lpPoints
Pointe vers un tableau de points qui spécifie les vertex de le polygone.Chaque point de la matrice est une structure de POINT ou un objet d' CPoint .nCount
Spécifie le nombre de vertex du tableau.
Valeur de retour
Une valeur différente de zéro si la fonction est réussie ; sinon 0.
Notes
Le système ferme le polygone automatiquement si nécessaire, en dessinant une ligne du dernier vertex au premier.
L'état actuel de remplissage de polygones peut être récupéré ou défini à l'aide de les fonctions membres d' GetPolyFillMode et d' SetPolyFillMode .
Exemple
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);
}
Configuration requise
Header: afxwin.h