1.
WindowProc是你給自己的視窗定義的視窗處理函數
DefWindowProc是windows平台提供的預設視窗處理函數
如果某些消息你不需要做特别的處理,調用DefWindowProc進行處理就可以了,不需要你自己再去些那些windows的"标準動作"
2.
根據1,顯然,你隻能定義WindowProc而不能定義DefWindowProc
看看MFC的CWnd源碼就一目了然了
LRESULT CWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// OnWndMsg does most of the work, except for DefWindowProc call
LRESULT lResult = 0;
if (!OnWndMsg(message, wParam, lParam, &lResult)) // 如果消息是需要自己處理的,
//處理後就不必讓windows系統進行預設處理了
lResult = DefWindowProc(message, wParam, lParam); // 自己沒有處理的就交給windows去做
return lResult;
}