经典错误, 忘记在case中返回值,导致DefWindowProc再次处理
DefWindowProc处理后,由于调用者也处理过,结果是难以估计的,DefWindowProc具体处理成什么结果,不得而知 。switch (message)
{ case   WM_SIZE:
{
cxClient = LOWORD (lParam) ; cyClient = HIWORD (lParam) ; //return 0 ;  //error
} break; case WM_CHAR: if(LOWORD(wParam)==_T('a'))
{
GetClientRect(hwnd,&rect);
InvalidateRect(hwnd,&rect,FALSE);
//return 0;  //error
}
break; case   WM_PAINT:
{ hdc = BeginPaint (hwnd, &ps) ;
/*......*/
EndPaint(hwnd,&ps);
//return 0 ;
}
break;
case   WM_DESTROY:
{
PostQuitMessage (0) ;
// return 0 ;  //error
}
break; } //end switch return DefWindowProc (hwnd, message, wParam, lParam) ;}