728x90
안녕하세요!
이번 글에서는 CRect클래스에 대해 알아보겠습니다.
CRect 클래스는 MFC에서 사각형을 표현하고 조작하기 위해 사용되는 클래스입니다.
이 클래스는 사각형의 위치와 크기를 나타내는 값을 저장하고, 다양한 사각형 연산을 수행할 수 있는 멤버 함수들을 제공합니다.
아래부터는 CRect 클래스의 주요 함수 원형과 파라미터에 대한 설명입니다.
CRect의 생성자와 멤버변수
CRect();
- 기본 생성자로, 초기 위치와 크기를 (0, 0, 0, 0)으로 설정합니다.
CRect(int l, int t, int r, int b);
- 왼쪽(l), 위쪽(t), 오른쪽(r), 아래쪽(b) 값을 지정하여 사각형의 위치와 크기를 설정합니다.
CRect(POINT point, SIZE size);
- 위치를 나타내는 POINT 구조체와 크기를 나타내는 SIZE 구조체를 받아서 사각형을 생성합니다.
int left, top, right, bottom;
- 사각형의 왼쪽, 위쪽, 오른쪽, 아래쪽 값을 나타내는 멤버 변수입니다.
CRect 주요 멤버함수
void SetRect(int l, int t, int r, int b);
- 사각형의 위치와 크기를 지정합니다.
void SetRectEmpty();
- 사각형을 비웁니다. 위치와 크기가 모두 0이 됩니다.
BOOL IsRectEmpty() const;
- 사각형이 비어 있는지 여부를 반환합니다.
BOOL PtInRect(POINT point) const;
- 주어진 좌표가 사각형 내부에 있는지 여부를 반환합니다.
void NormalizeRect();
- 사각형의 위치와 크기를 정규화합니다. 왼쪽 값이 오른쪽 값보다 작거나 같아지도록 조정됩니다.
void InflateRect(int x, int y);
- 사각형의 크기를 주어진 값만큼 확장 또는 축소시킵니다.
void OffsetRect(int x, int y);
- 사각형의 위치를 주어진 값만큼 이동시킵니다.
사용 예제
BOOL CMFCTESTDlg::OnInitDialog()
{
//위 내용 생략
// TODO: 여기에 추가 초기화 작업을 추가합니다.
//CRect 생성
CRect rtButton(50, 50, 200, 200);
//렉트로 버튼을 이동
m_BTN_TEST.MoveWindow(rtButton);
return TRUE; // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다.
}
- 다이얼로그 클래스의 OnInitDialog함수 내에 다음과 같이 렉트를 생성하고, 버튼을 MoveWindow해주며 매개변수로 렉트를 넣어 줍니다.
- 버튼의 좌측 위 x,y좌표 (50, 50)
- 버튼의 우측 아래 x,y좌표 (200, 200)
- 따라서 버튼의 x,y좌표(50, 50)에서부터 시작하는 가로/세로(150/150)를 가진 버튼이 그려지게 됩니다.
CRect 클래스는 MFC에서 자주 사용되며, 사각형의 위치와 크기를 표현하고 조작하는데 유용합니다.
주어진 함수 원형과 파라미터 설명을 참고하여 CRect 클래스를 활용해 다양한 사각형 연산을 수행할 수 있습니다.
감사합니다!
728x90
'[C++] > MFC 프로그래밍' 카테고리의 다른 글
[C++] MFC 프로그래밍 : 이벤트 함수 추가 (31) | 2023.06.18 |
---|---|
[C++] MFC 프로그래밍 : CString 클래스 (31) | 2023.06.18 |
[C++] MFC 프로그래밍 : OnSize함수 (33) | 2023.06.15 |
[C++] MFC 프로그래밍 : 컨트롤 변수 (41) | 2023.06.13 |
[C++] MFC 프로그래밍 : 컨트롤 소개 (39) | 2023.06.13 |