Api 为什么可以';我的Win32程序不能多次绘制吗?

Api 为什么可以';我的Win32程序不能多次绘制吗?,api,winapi,visual-c++,draw,paint,Api,Winapi,Visual C++,Draw,Paint,我试图制作一个程序,检测按键并在窗口上绘制相应的字母。一切正常,但它只画一次。。。当我按下另一个键时,什么也没发生 case WM_KEYDOWN: { if (GetKeyState(0x41)) { pCtrl->Paint (65); } Paint函数调用Char函数,该函数使用::Textout 我所不能理解的是,为什么它不画不止一次呢?如果没有代码来画,很难回答,但我认为你处理问题的方法是错误的。Win32应用程序仅应在处理WM_PAI

我试图制作一个程序,检测按键并在窗口上绘制相应的字母。一切正常,但它只画一次。。。当我按下另一个键时,什么也没发生

case WM_KEYDOWN:
{ 
   if (GetKeyState(0x41))
   {
      pCtrl->Paint (65);
   }    
Paint函数调用Char函数,该函数使用
::Textout

我所不能理解的是,为什么它不画不止一次呢?如果没有代码来画,很难回答,但我认为你处理问题的方法是错误的。Win32应用程序仅应在处理WM_PAINT消息时修改其显示区域。当接收到WM_KEYDOWN消息时,它应该使用invalidate直立()使显示无效,并让应用程序重新绘制自身。为了消除不可避免的闪烁,WM_键控处理程序可以记录更改的类型,WM_绘制处理程序只能更新显示的字符。

我打赌每个字符都在同一位置绘制。