OnWndMsg是在 Cwnd 中定義的虛函數;CWnd::OnWndMsg
virtual BOOL OnWndMsg( UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult );
Remarks
This member function is called by WindowProc, or is called during message reflection.
因為不管是什么類型的窗口基類的根源幾乎都是CWnd(在MFC中);
所以巧妙的利用這個函數可以實現很多不能正常辦法實現的問題;
簡單舉例子就是:
在 ListCttl中 Head的鼠標右擊消息;
利用OnWndMsg截取Head的WM_RBUTTONUP消息
然后自定義消息發送給所需要的窗口中去;
利用OnWndMsg無所不能
BOOL CMainFrame::OnWndMsg( UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult )
{
if(m_bActive)
{
static unsigned long i=0;
i++;
char buf[256];
sprintf(buf,"%08ld:%08X %08X %08X %08X",
i,message, wParam, lParam, pResult);
m_lb.InsertString(0,buf);
}
return CFrameWnd::OnWndMsg(message, wParam, lParam, pResult);
}