프로그래밍/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입니다.