CDC::ARC
Eliptický oblouk kreslí.
BOOL Arc(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3,
int x4,
int y4
);
BOOL Arc(
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 bodu oblouku definuje jeho počáteční bod (v logické jednotky).Tento bod nemá leží přesně na oblouku.y3
Určuje souřadnici y bodu oblouku definuje jeho počáteční bod (v logické jednotky).Tento bod nemá leží přesně na oblouku.x4
Určuje souřadnici x bodu, který definuje koncového bodu oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.y4
Určuje souřadnici y bodu, který definuje koncového bodu oblouku (v logické jednotky).Tento bod nemá leží přesně na oblouku.lpRect
Určuje ohraničovacího rámečku (v logické jednotky).Buď můžete předat LPRECT nebo CRect objektu pro tento parametr.ptStart
Určuje, že souřadnice x a y bodu, který definuje oblouk jeho počáteční bod (v logické jednotky).Tento bod nemá leží přesně na oblouku.Buď můžete předat bod struktury nebo CPoint objektu pro tento parametr.ptEnd
Určuje souřadnice x a y bodu, který definuje koncový bod oblouku (v logické jednotky).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
Je oblouk nakreslený pomocí funkce segment podle zadaného ohraničovacího rámečku elipsy.
Skutečný počáteční bod oblouku je bod, ve kterém protíná ray, ze středu ohraničovacího rámečku pomocí zadaného počátečního bodu elipsy.Skutečné koncový bod oblouku je bod, kterou protíná ray, ze středu ohraničovacího rámečku prostřednictvím určeného koncového bodu elipsy.Oblouk vykreslen ve směru hodinových ručiček.Protože oblouk není uzavřené obrázek, není vyplněna.Šířku a výšku obdélníku musí být větší než 2 jednotky a jednotky menší než 32 767.
Příklad
void CDCView::DrawArc(CDC* pDC)
{
// Fill the client area with a thin circle. The circle's
// interior is not filled. The circle's perimeter is
// blue from 6 o'clock to 3 o'clock and red from 3
// o'clock to 6 o'clock.
// Get the client area.
CRect rectClient;
GetClientRect(rectClient);
// Make a couple of pens.
CPen penBlue;
CPen penRed;
CPen* pOldPen;
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.
pOldPen = pDC->SelectObject(&penBlue);
pDC->Arc(rectClient,
CPoint(rectClient.right, rectClient.CenterPoint().y),
CPoint(rectClient.CenterPoint().x, rectClient.right));
// Draw from 6 o'clock to 3 o'clock, counterclockwise,
// in a red pen.
pDC->SelectObject(&penRed);
// Keep the same parameters, but reverse start
// and end points.
pDC->Arc(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