//#define BEGIN_MSG_MAP(theClass) public: / BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lResult, DWORD dwMsgMapID = 0) / { / BOOL bHandled = TRUE; / (hWnd); / (uMsg); / (wParam); / (lParam); / (lResult); / (bHandled); / switch(dwMsgMapID) / { / case 0: //#define MESSAGE_HANDLER(msg, func) if(uMsg == msg) / { / bHandled = TRUE; / lResult = func(uMsg, wParam, lParam, bHandled); / if(bHandled) / return TRUE; / } //#define MESSAGE_RANGE_HANDLER(msgFirst, msgLast, func) if(uMsg >= msgFirst && uMsg <= msgLast) / { / bHandled = TRUE; / lResult = func(uMsg, wParam, lParam, bHandled); / if(bHandled) / return TRUE; / } //#define ALT_MSG_MAP(msgMapID) break; / case msgMapID: //#define END_MSG_MAP() break; / default: / ATLTRACE(ATL::atlTraceWindowing, 0, _T("Invalid message map ID (%i)/n"), dwMsgMapID); / ATLASSERT(FALSE); / break; / } / return FALSE; / }