Имеется следующий код
#define ON_WM_MOUSELEAVE() \
{ WM_MOUSELEAVE, 0, 0, 0, AfxSig_vv, \
(AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)())&OnMouseLeave },
Понятно, что модифицируется обработка сообщения WM_MOUSELEAVE.
Объясните, пожалуйста, что это за нули, AfxSig_vv, AFX_PMSG и др.
и зачем столько писать в макросе?
Можно ли просто обработать WM_MOUSELEAVE и не писать выше указанный код?