티스토리 뷰

프로그래밍/MFC

MFC 명령라우팅

에어버스 2016. 7. 3. 15:05
MFC 명령라우팅

종류 

설명 

메시지맵 매크로 

윈도우 메시지 

윈도우 생성, 종료, 마우스, 키보드 등 다양한 원인에 의해 발생 

ON_WM_***() 

명령메시지 

메뉴, 툴바, 가속기 등에 의해 발생 

ON_COMMAND(ID, 함수) 

명령 갱신 메시지 

메뉴, 툴바, 상태바 등이 상태를 갱신할 필요가 있을때 발생 (MFC에서만 사용하는 고유 메시지) 

ON_UPDTAE_COMMAND_UI(ID, 함수) 

통지 메시지 

컨트롤(자식 윈도우)이 부모 윈도우에게 보내는 메시지 

ON_****(ID, 함수) 

윈도우 메시지, 통지 메시지는 특정 윈도우만 받아서 처리할 수 있다. 예로 클라이언트 영역에서 마우스를 클릭하면 뷰 객체가 해당 메시지를 받아서 처리한다. 반면, 명령 메시지와 명령 갱신 메시지는 일반적으로 메인 윈도우(프레임 윈도우 객체)가 처음으로 받지만 뷰 객체나 도큐먼트 객체는 물론이고 심지어 응용 프로그램 객체도 이를 받아서 처리할 수 있다.

명령 메시지, 명령 갱신 메시지를 여러 객체에서 처리 할 수 있도록 전달해주는데 이를 명령 라우팅 이라 부른다.

만약, 동일한 메시지에 대한 핸들러가 2개 이상 있다면 명령 라우팅 순서 상 앞쪽에 있는것만 실행된다.

전달 순서>

1. 활성 뷰
2. 활성 도큐먼트
3. 도큐먼트 템플릿
4. 프레임 윈도우
5. 응용 프로그램 객체
6. ::DefWindowProc

명령 메시지, 명령 갱신 메시지는 프레임윈도우가 먼저 받고 1번 부터 순서대로 받게 된다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31