Sdílet prostřednictvím


CDC::pie

Nakreslí klínu se výsečového tvaru kreslením eliptický oblouk, jehož střed a dva koncové body jsou spojeny čarami.

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

Parametry

  • x1
    Určuje souřadnici x levého horního rohu ohraničovacího rámečku (v logické jednotky).

  • y1
    Určuje souřadnici y levého horního rohu ohraničovacího rámečku (v logické jednotky).

  • x2
    Určuje souřadnici x v pravém dolním rohu ohraničovacího rámečku (v logické jednotky).

  • y2
    Určuje souřadnici y v pravém dolním rohu ohraničovacího rámečku (v logické jednotky).

  • x 3
    Určuje souřadnici x počátečního bodu oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.

  • y3
    Určuje souřadnici y počáteční bod oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.

  • x4
    Určuje souřadnici x koncového bodu oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.

  • y4
    Určuje souřadnici y koncového bodu oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.

  • lpRect
    Určuje ohraničovacího rámečku.Buď předáte CRect objektu nebo ukazatel RECT struktury pro tento parametr.

  • ptStart
    Určuje počáteční bod oblouku.Tento bod nemá leží přesně na oblouku.Buď můžete předat bod struktury nebo CPoint objektu pro tento parametr.

  • ptEnd
    Určuje koncový bod oblouku.Tento bod nemá leží přesně na oblouku.Buď můžete předat bod struktury nebo CPoint objektu pro tento parametr.

Vrácená hodnota

Nenulová hodnota, pokud je tato funkce úspěšná. jinak 0.

Poznámky

Středu oblouku je středu ohraničovacího rámečku určené x1 , y1 , x2 , a y2 (nebo lpRect ).Počáteční a koncové body oblouku jsou určeny x 3, y3 , x4 , a y4 (nebo ptStart a ptEnd ).

Oblouk je nakreslena perem vybrané přesunutí ve směru hodinových ručiček.Další dvě čáry jsou vybírány z každý koncový bod střed oblouku.Výsečového tvaru oblast vyplněna aktuální stopy.Pokud x 3 se rovná x4 a y3 se rovná y4 , výsledkem je elipsy s jeden řádek ze středu elipsy bodu (x 3, y3 ) nebo (x4, y4 ).

Obrázek nakreslený pomocí této funkce sahá až do, ale neobsahuje souřadnice doprava a dolů.To znamená, že výška na obrázku je y2 – y1 a na obrázku je x2 – x1 .Šířka a výška ohraničovací obdélník musí být větší než 2 jednotky a jednotky menší než 32 767.

Příklad

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

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CDC

Diagram hierarchie

CDC::chord

Pie

Struktura RECT

BOD struktury

Třída CRect

Třída CPoint