CRgn::CreateEllipticRgn
타원형의 영역을 만듭니다.
BOOL CreateEllipticRgn(
int x1,
int y1,
int x2,
int y2
);
매개 변수
x1
타원의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표 논리를 지정합니다.y1
타원의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표 논리를 지정합니다.x2
타원의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표 논리를 지정합니다.y2
타원의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표 논리를 지정합니다.
반환 값
작업이 성공 하면 0이 아닌. 그렇지 않으면 0입니다.
설명
영역 지정 된 경계 사각형에 의해 정의 됩니다 x1, y1, x2, 및 y2. 영역에 저장 되는 CRgn 개체입니다.
크기의 영역에서 32767 32767 논리 단위 또는 64k의 메모리 제한, 작은 값.
가 종료 만든 영역을 사용 시는 CreateEllipticRgn 함수 영역을 장치 컨텍스트 및 사용할 응용 프로그램을 선택 해야는 DeleteObject 함수를 제거 합니다.
예제
CRgn rgnA, rgnB, rgnC;
VERIFY(rgnA.CreateEllipticRgn(200, 100, 350, 250));
VERIFY(rgnB.CreateRectRgn( 0, 0, 50, 50 ));
VERIFY(rgnB.CopyRgn( &rgnA ));
int nOffsetResult = rgnB.OffsetRgn( -75, 75 );
ASSERT( nOffsetResult != ERROR && nOffsetResult != NULLREGION );
VERIFY(rgnC.CreateRectRgn( 0, 0, 1, 1));
int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_AND );
ASSERT( nCombineResult != ERROR && nOffsetResult != NULLREGION );
CBrush brA, brB, brC;
VERIFY(brC.CreateHatchBrush( HS_FDIAGONAL, RGB(0, 0, 255) )); // Blue
VERIFY(pDC->FillRgn( &rgnC, &brC ));
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) )); // rgnA Red
VERIFY(pDC->FrameRgn( &rgnA, &brA, 2, 2 ));
VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) )); // rgnB Green
VERIFY(pDC->FrameRgn( &rgnB, &brB, 2, 2 ));
요구 사항
헤더: afxwin.h