때에 따라서는 Dialog 창을 갑자기 종료시켜야하는 경우가 발생한다.
이러한 경우 여러 해결방법이 있겠지만, 그중에서 직접 찾아보고 시도해봤던, 그리고 추천하는 방법을 작성해본다.
OnClose()
-> 정말 프로세스 도중에 창을 닫아버린다. 따라서 메모리릭 발생
Exit(0)
-> 피차일반, 비정상적인 종료라면서 마찬가지로 오류 또는 메모리릭 발생
::PostQuitMessage(WM_QUIT)
-> 아래와 같은 경고창이 발생한다. 이말인 즉슨, 안전한 종료방법은 아니라는듯하다.
"경고: 대화 상자를 만들지 못했으므로 응용 프로그램이 예기치 않게 종료됩니다.
경고: 대화 상자에서 MFC 컨트롤을 사용하는 경우 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS를 수행할 수 없습니다."
::SendMessage(this->m_hWnd, WM_CLOSE, NULL, NULL) 혹은 ::SendMessage(GetSafeHwnd(), WM_CLOSE, NULL, NULL)
-> 메모리릭이 발생하지 않는다. 그리고 아무런 경고 엾이 정상적으로 종료가 된다.
참고 : http://egloos.zum.com/CharlesM/v/1279955
'[ Topics ] > Visual Studio' 카테고리의 다른 글
Cstring 에서 char* 형으로 변환 (0) | 2015.06.10 |
---|---|
파일 입출력에서 폴더창 열기 (0) | 2015.06.10 |
MFC 다이얼로그 창 Enter, Esc키 종료 막기 (0) | 2015.06.10 |
Visual Studio 2012 update 후 activitylog.xml error 해결방법 (0) | 2015.02.02 |
CString to int, int to CString 변환법 (0) | 2014.10.31 |