사각형을 표현하기 위한 기본 클래스
내부멤버
LONG left;
LONG top;
LONG right;
LONG bottom;
좌표로 직접 생성
CRect rect(10, 20, 100, 200);
// left=10, top=20, right=100, bottom=200
POINT + SIZE 로 생성
CPoint pt(10, 20);
CSize sz(100, 200);
CRect rect(pt, sz);
기존 RECT로 부터 받아 생성
// RECt 는 Win32 API
RECT rc;
GetClientRect(&rc);
CRect rect(rc);
Width, Heigjt
int w = rect.Width(); // right - left
int h = rect.Height(); // bottom - top
CSize
CSize size = rect.Size();
// size.cx, size.cy
이동
rect.OffsetRect(10, 20); // x + 10, y + 20
특정 위치로 이동
rect.MoveToXY(50, 50);
크기 확장
rect.InflateRect(10, 10); // 사방으로 10씩 확장
크기 축소
rect.DeflateRect(5, 5) // 사방으로 5씩 축소
점 포함 여부(point)
if (rect.PtInRect(point))
{
// point 가 rect 내부
}
사각형 포함 여부
CRect r1, r2;
if (r1.IntersectRect(&r1, &r2))
{
// 겹침
}