我在窗口过程中对WM_KEYDOWN消息进行响应,希望当按下一个键时能够在窗体上显示该键的码,但总是无法即时显示,非要我改变窗口大小才能够显示出来,不知道为什么?
char a[30];
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
 
    switch (message)
     {
     case WM_CREATE:
          return 0 ;
     case WM_KEYDOWN:
         _itoa(wParam,a,16);
         SendMessage(hwnd,WM_PAINT,0,0);
         return 0;
     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;
          
          GetClientRect (hwnd, &rect) ;
          
          DrawText (hdc, a, -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
          
          EndPaint (hwnd, &ps) ;
          return 0 ;
     
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;     }
 
return DefWindowProc(hwnd,message,wParam,lParam);
}