[MFC 기초 02-1] CDC 클래스 정리
본문 바로가기

응용 프로그램 개발/C++, MFC, Windows

[MFC 기초 02-1] CDC 클래스 정리

728x90
반응형

DC(Device Context) : 응용프로그램 화면에 출력하는 작업을 처리하기 위해 필요한 속성을 정의하고 있는 자료구조

CDC: DC를 관리하기 위한 클래스, 텍스트를 출력하거나 그래픽 이미지를 출력하는 등에 관련된 다양한 멤버함수로 구현

 

디바이스 컨텍스트를 이용하여 출력하는 과정

1. 윈도우 운영체제로 부터 DC를 요청하여 얻어온다.

CDC *pDC = GetDC(); // CDC 포인터를 반환

2. 운영체제로 부터 받은 DC Handle을 사용하여 출력한다.

BOOL TextOutW( // CDC클래스의 멤버함수 중 텍스트를 출력하는 함수
	int x, // 화면에 출력할 x좌표
    int y, // 화면에 출력할 y좌표
    const CString& str // 화면에 출력할 텍스트
   );

TextOutW() 함수가 텍스트를 출력하는 영역을 클라이언트 영역이라고 하는데 클라이언트 영역의 좌표계는 화면 좌측 상단을 원점으로 하고 오른쪽, 아래로 갈 수록 x좌표 값과 y좌표 값이 커진다.

pDC -> TextOutW(1010, 50, _T("MFC Application")); // CDC포인터인 pDC로 TextOutW함수를 호출하여 텍스트 출력

 

3. 사용이 끝났으면 디바이스 컨텍스트를 운영체제에게 반납한다.

ReleaseDC(pDC);

4. 혹은 GetDC와 ReleaseDC 를 대신하여 CClientDC를 사용

CClientDC dc(this); // CClientDC는 생성시 GetDC를 호출하고 소멸 시 ReleaseDC를 호출
dc.TextOutW(100, 100, _T("MFC Application")); // _T는 매크로 함수로, 언어에 상관없이 모든 문자를 처리할 수 있도록 한 코드 체계

 

728x90
반응형