DispatchMessage

원형 LONG DispatchMessage(CONST MSG *lpmsg);
원형 해당 함수 없음
인수 ▶lpmsg : 전달할 메시지를 담고 있는 메시지 구조체
리턴

윈도우 프로시저가 리턴한 값을 리턴한다. 전달되는 메시지에 따라 리턴값의 의미는 달라지는데 일반적으로 이 함수의 리턴값은 무시한다.

설명

이 함수는 GetMessage가 읽은 메시지를 이 메시지를 처리할 윈도우로 보낸다. 단, WM_TIMER 메시지의 lParam이 NULL이 아닐 경우, 즉 콜백 함수가 지정되어 있을 경우는 윈도우 프로시저로 메시지를 보내는 대신 lParam이 저장하는 콜백 함수를 곧바로 호출한다. 이 함수는 윈도우 프로시저가 메시지를 완전히 처리하기 전에는 리턴하지 않는다. 다음은 일반적인 메시지 루프이다.

while(GetMessage(&Message,0,0,0)) {
	TranslateMessage(&Message);
	DispatchMessage(&Message);
}
return Message.wParam;

GetMessage가 메시지를 읽고 TranslateMessage가 문자 메시지로 변환을 하며 DispatchMessage가 메시지를 윈도우 프로시저로 보내진다. 하나의 메시지는 이 세 함수를 거치며 최종적으로 윈도우 프로시저의 의해 처리된다.

참고함수 GetMessage, TranslateMessage
플렛폼 95이상
참조  

written by http://www.winapi.co.kr