CDC::Arc
타원 호를 그립니다.
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
);
매개 변수
x1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.y1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.x2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.y2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.x 3
호 정의 점의 x 좌표 (논리 단위)의 시작점을 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다.y3
호 정의 점의 y 좌표 (논리 단위)의 시작점을 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다.x4
호의 끝점 (논리 단위)를에서 정의 하는 점의 x 좌표를 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다.y4
호의 끝점 (논리 단위)를에서 정의 하는 점의 y 좌표를 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다.lpRect
경계 사각형 (논리 단위)를에서 지정합니다. 하나를 통과할 수는 LPRECT 또는 CRect 이 매개 변수에 대 한 개체.ptStart
호 정의 점의 x 및 y 좌표 (논리 단위)의 시작점을 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다. 하나를 통과할 수는 포인트 구조 또는 CPoint 이 매개 변수에 대 한 개체.ptEnd
호의 끝점 (논리 단위)를에서 정의 하는 점의 x 및 y 좌표를 지정 합니다. 이 지점을 정확히 호 상의 필요가 없습니다. 하나를 통과할 수는 포인트 구조 또는 CPoint 이 매개 변수에 대 한 개체.
반환 값
함수가 성공 하면 0이 아닌. 그렇지 않으면 0입니다.
설명
함수를 사용 하 여 그린 호 지정 된 경계 사각형에 의해 정의 되는 타원 세그먼트입니다.
실제 시작점의 호를 광선이 경계 사각형은 지정한 시작점부터의 센터에서 그려진 타원을 교차 하는 지점이입니다. 실제 끝점은 호의 경계 사각형의 지정 된 끝점을 통해 중앙에서 그린 광선이 타원에서 서로 만나는 지점이입니다. 시계 반대 방향으로 호를 그립니다. 호 닫힌 아니므로 채워집니다 없습니다. 사각형의 높이 너비 2 단위와 32767 보다 작은 단위 보다 커야 합니다.
예제
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);
}
요구 사항
헤더: afxwin.h