C++프로그래밍/MFC

핸들러 관련해 발생할 수 있는 실수

season97 2025. 3. 7. 15:47

▶ 등록된 핸들러 삭제

ㆍ 위 단계대로 삭제를 해주자. 습관화하자

 

나올수있는 상황

ㆍ View에 해야되는데 빨리하다 실수로 CAboutDlg에 함수를 만들어버렷다??

ㆍ 비활성화 되어있고, 삭제해야된다.

ㆍ 여기들어가면 지울수는 있다. 3군대를 수작업으로 삭제해주자.

ㆍ 뭐 사실 이 케이스는 더러운걸 지우는 느낌이지만..

 

ㆍ 함수를 삭제하지 않고 리소스뷰에서 저걸 삭제해버리면??? 에러가 안나버린다..

ㆍ 메시지 맵에 연동이 코드상으로는 잘 되어있을거고 당연히 잘 나올것이다,,, 근데 이 코드는 불릴 가능성이 이제 0%다

ㆍ 그러다 다른곳에서 또 New Test로 만들어버리면 또 이상하게 작동하고 그렇다,,, 

ㆍ 리소스에서만 삭제하지 말고 꼭 다 삭제하자

 


 

▶ 핸들러를 여러개 등록하는 경우

ㆍ MainFrame과 View에 둘다 추가해버렸다. 메뉴 하나에 대해 처리기가 2개가되는거다.

ㆍ 빌드 잘 되고 경고 문구도 하나도 없다.

ㆍ 이럴경우 뷰께 불린다

ㆍ 메인프래임은 작동안한다. 두개하지말자 

ㆍ 메세지 라우팅 순서상 먼저 잡히는놈만 실행되는데 1순위가 View다. 

 

※ Resource.h를 열어서 탐색해서 2개인지 체크해주자