본문 바로가기
프로그래밍/MFC

[MFC] 메뉴 삭제하는 방법

by 힝고니 2010. 5. 28.


메뉴를 사용하지 않고싶은데 실수로 프로젝트를 만들때 메뉴까지 생성해버렸다.

이럴경우 메뉴를 없애기 위해 메뉴 자원을 삭제하게 되면

MFC 기본 코드에서 Assertion Failure 메세지를 출력하게 된다.

이럴경우 메뉴에 대한것들은 그대로 놔두고

프로그램이 실행될때 코드에서 메뉴를 삭제하는 부분을 추가하여

사용자가 메뉴를 못보게 하는 방법을 사용하여야 한다.


BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{

 if(cs.hMenu != NULL) //메뉴 삭제하기
 {
  ::DestroyMenu(cs.hMenu); //메뉴를 삭제한다
  cs.hMenu = NULL; //메뉴를 사용하지 않는다.
 }


}

이렇게 간단한 소스의 추가로 끝나게 된다.

괜히 리소스를 삭제하거나 기타 코드를 건드려서 골치아픈 일이 생기지 않길 바란다..

*높은 내공의 소유자들은 당연히 알아서 수정하겠지...ㅜㅜ..