CWnd::PostNcDestroy()
일반적으로, 가장 바깥의 프레임 윈도우를 만드는데는 CFrameWnd가 사용되는데, 이것은 따로 청소 작업을 해주지 않아도 된다. 즉, CWinApp의 m_pMainWnd에 CFrameWnd에서 파생된 윈도우를 붙였다면, 이것은 따로 삭제해주지 않아도 CFrameWnd가 알아서 삭제된다. 그렇지만, 프레임 윈도우를 CFrameWnd가 아니라 CWnd에서 파생받아서 사용했고, 이것을 힙에 생성했다면, 청소 작업을 반드시 해주어야 한다. 2가지 방법이 있을 수 있는데, 가장 일반적인 방법인, PostNcDestroy() 메서드를 오버라이딩해서 자신을 삭제해주어야 한다. (delete this와 같은 방법으로) 두번째 방법은, 만약 PostNcDestroy() 메서드를 오버라이딩하지 않는다면 스마트 포인터와 ..
더보기