프로그래밍/MFC , WinAPI

[MFC] CDC클래스의 파생클래스의 차이점을 알아보자.

친루엄 2018. 4. 10. 23:48

CDC 클래스의 파생클래스는  CClientDC , CWindowDC , CPaintDC , CMetaFileDC 가 있다.

DC를 얻어 왔으면 반드시 ReleaseDC함수로 해제 해줘야한다. CPaintDC는 제외이다.

 

CClientDC

  윈도우의 클라이언트 영역으로 한정되는 DC입니다.

 

CWindowDC

  윈도우의 모든영역에 대한 DC입니다. 이 DC를 이용하면 다른 윈도우에 대해서 그리기가 가능합니다.

 

CPaintDC

  CClientDC 클래스와 유사하지만 내부적으로 BeginPaint()/EndPaint()함수를 호출하여

  WM_ERASEBKGND 메세지가 발생한다는 것이 다릅니다. 내부적으로 ReleaseDC를

  호출하므로 따로 DC를 반환할 필요는 없습니다.

 

CMetaFileDC

  WMF(Window Meta File)와 EMF(Enhanced Meta File) 파일에 대한 DC입니다.