C & C++/C & C++

메시지맵(Message Map) 을 사용하지 않고 메시지 처리하는 방법

izen8 2011. 4. 28. 15:39

메시지맵(Message Map) 을 사용하지 않고 메시지 처리하는 방법


 

메서드 : CWnd::PreTranslateMessage()

원형 : virtual BOOL PreTranslateMessage(MSG* msg);

 

TranslateMessage(&msg)와 DispatchMessagE(&msg) 윈도우 함수에서 처리되기전에 윈도우의 메시지를 필터링하기위해서 사용된다. 즉 메시지맵을 거치기 전에 중간에서 메시지를 처리할수 있다.

 

ex) WM_LBUTTONDOWN메시지를 처리하는 예제

BOOL testView::PreTranslateMessage(MSG* msg)

{

     if(WM_LBUTTONDOWN)

     {

             MessageBox("aaaa", "bbbbb");

      }

 

      return TRUE;

}