가취공부하자

[MFC] 명령 메시지 전달 경로 본문

카테고리 없음

[MFC] 명령 메시지 전달 경로

keepGGoing 2022. 5. 26. 22:00

일반적인 윈도우 메시지는 CWnd에서 처리한다. 그래서 상위에 있는 클래스에서는 윈도우 메시지를 받는 기능이 없다.

이를 대신하기 위한 메시지가 WM_COMMAND메시지이며 CCmdTarget클래스에 있다. 따라서 WM_COMMAND는 CCmdTarget클래스를 상속받는 클래스에서 모두 사용될 수 있다.

 

WM_COMMAND 메세지 처리 순서

WM_COMMAND메시지가 AFX클래스에 전달되는 순서는 정해져있다

 

CView -> CDocument -> CFrameWnd -> CWinApp

 

따라서 하나의 메세지에 명령 핸들러를 여러클래스에 지정해놓으면 문제가 발생할 수 있다.