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 할 수 있다.

관련된 코드 (헤더파일에서 정의 및 소스파일에 생성된 코드)가 주석 처리된다.