MFC
메시지 맵과 핸들러
윤주승
2025. 4. 7. 12:09
- 메시지 맵(Message map)Win32 API 방식의 윈도우 프로시저 구조를 개선해 만든 것
- 기존 switch-case 구조를 한 메시지(혹은 명령)에 대해 한 함수(핸들러)로 1:1 매핑
- Visual Studio에서 자동으로 메시지 맵 코드를 관리
View 클래스를 alt+enter하면 속성을 볼 수 있다.
여기서 많은 메시지를 볼 수 있는데
그 중 WM_CREATE옆에 작은 버튼을 누르면 OnCreate()함수가 자동으로 생성된다.
이 함수는 WM_CREATE 메세지에 대한 핸들러 함수이다.
이게 메세지 맵이다. ON_WM_CREATE()는 내가 추가한 것이 아닌 Visual Studio에서 자동으로 추가해준 것이다.
메세지 창이 잘 뜨는것을 확인할 수 있다. 또한 확인 버튼을 눌러야 윈도우 창이 나오는것을 볼 수 있다.
이것은 화면이 출력되기 전에 얘가 먼저 호출됐다는 것이다.
만약 저 메시지를 사용하고싶지 않다면 아까처럼 클래스를 Alt+Enter 누르고 속성에서 Delete 할 수 있다.
관련된 코드 (헤더파일에서 정의 및 소스파일에 생성된 코드)가 주석 처리된다.