Partager via


CDC::Pie

Dessine une forme shim secteur- en dessinant un arc elliptique dont le centre et deux points de terminaison sont joints par des lignes.

BOOL Pie( 
   int x1, 
   int y1, 
   int x2, 
   int y2, 
   int x3, 
   int y3, 
   int x4, 
   int y4  
); 
BOOL Pie( 
   LPCRECT lpRect,
   POINT ptStart,
   POINT ptEnd  
);

Paramètres

  • x1
    Spécifie la coordonnée x du coin supérieur gauche du rectangle englobant (en unités logiques).

  • y1
    Spécifie l'ordonnée du coin supérieur gauche du rectangle englobant (en unités logiques).

  • x2
    Spécifie la coordonnée x du coin inférieur droit du rectangle englobant (en unités logiques).

  • y2
    Spécifie l'ordonnée du coin inférieur droit du rectangle englobant (en unités logiques).

  • x3
    Spécifie la coordonnée x du point de départ de l'arc (en unités logiques). Ce point ne doit pas exactement reposer sur l'arc.

  • y3
    Spécifie la coordonnée y du point de départ de l'arc (en unités logiques). Ce point ne doit pas exactement reposer sur l'arc.

  • x4
    Spécifie la coordonnée x du point de terminaison de l'arc (en unités logiques). Ce point ne doit pas exactement reposer sur l'arc.

  • y4
    Spécifie la coordonnée y du point de terminaison de l'arc (en unités logiques). Ce point ne doit pas exactement reposer sur l'arc.

  • lpRect
    Spécifie le rectangle englobant. Vous pouvez passer un objet d' CRect ou un pointeur vers une structure d' RECT pour ce paramètre.

  • ptStart
    Spécifie le point de départ de l'arc. Ce point ne doit pas exactement reposer sur l'arc. Vous pouvez passer une structure de POINT ou un objet de CPoint pour ce paramètre.

  • ptEnd
    Spécifie le point de terminaison de l'arc. Ce point ne doit pas exactement reposer sur l'arc. Vous pouvez passer une structure de POINT ou un objet d' CPoint pour ce paramètre.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0.

Notes

Le centre de l'arc est le centre du rectangle englobant spécifié par x1, y1, x2, et y2 (ou par lpRect). Démarrer et les points de terminaison de l'arc sont spécifiés par x3, y3, x4, et y4 (ou par ptStart et ptEnd).

L'arc est dessiné avec le stylet sélectionné, déplacer dans un sens anti-horaire. Deux lignes supplémentaires sont dessinées de chaque point de terminaison centre de l'arc. La zone secteur- forme est remplie avec le pinceau actuel. Si x3 égale x4 et y3 égale y4, le résultat est une ellipse avec une ligne unique du centre de l'ellipse de débogage (x3, y3) ou (x4, y4).

L'illustration dessinée par cette fonction s'étend jusqu'à mais pas les coordonnées de droit et inférieur. Cela signifie que la hauteur de l'image est y2 – y1 et la largeur de l'illustration est x2 – x1. La largeur et la hauteur du rectangle englobant doivent être supérieures à 2 unités et moins de 32.767 unités.

Exemple

void CDCView::DrawPie(CDC* pDC)
{
   // Fill the client area with a simple pie chart. A 
   // big blue slice covers 75% of the pie, from 
   // 6 o'clock to 3 o'clock. This portion is filled 
   // with blue and has a blue edge. The remaining 25% 
   // is filled with a red, diagonal hatch and has 
   // a red edge. 

   // Get the client area.
   CRect rectClient;
   GetClientRect(rectClient);

   // Make a couple of pens and similar brushes.
   CPen penBlue, penRed;
   CBrush brushBlue, brushRed;
   CBrush* pOldBrush;
   CPen* pOldPen;

   brushBlue.CreateSolidBrush(RGB(0, 0, 255));
   brushRed.CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
   penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
   penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

   // Draw from 3 o'clock to 6 o'clock, counterclockwise, 
   // in a blue pen with a solid blue fill.

   pOldPen = pDC->SelectObject(&penBlue);
   pOldBrush = pDC->SelectObject(&brushBlue);

   pDC->Pie(rectClient,
      CPoint(rectClient.right, rectClient.CenterPoint().y),
      CPoint(rectClient.CenterPoint().x, rectClient.right));

   // Draw the remaining quarter slice from 6 o'clock 
   // to 3 o'clock, counterclockwise, in a red pen with 
   // the hatched brush.
   pDC->SelectObject(&penRed);
   pDC->SelectObject(&brushRed);

   // Same parameters, but reverse start and end points.
   pDC->Pie(rectClient,
      CPoint(rectClient.CenterPoint().x, rectClient.right),
      CPoint(rectClient.right, rectClient.CenterPoint().y));

   // Restore the previous pen.
   pDC->SelectObject(pOldPen);
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDC, classe

Graphique de la hiérarchie

CDC::Chord

Pie

Structure RECT

structure de POINT

CRect, classe

CPoint, classe