HandleMessage HandleCustomMessage MessageHandler 三者区别
LRESULT CWindowWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam){ return ::CallWindowProc(m_OldWndProc, m_hWnd, uMsg, wParam, lParam);}
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam){ lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled); if (bHandled) return lRes; if (m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes)) return lRes; return CWindowWnd::HandleMessage(uMsg, wParam, lParam);}
//CWindowWnd是父类,WindowImplBase是子类class UILIB_API WindowImplBase : public CWindowWnd如果派生类 如果实现这些虚函数 执行程序如下:HandleMessage --> HandleCustomMessage --> MessageHandler因而只有实现HandleCustomMessage即可