我用鼠标改变窗体能让用户区图象更新,而用SendMessage(hWnd,WM_PAINT,0,0)(我用定时器定时产生的)却不能,我很茫然,望指教

解决方案 »

  1.   

    你可以用 Spy++ 看看就知道了。
      

  2.   

    应该窗口自己处理WM_PAINT和WM_SIZE消息,不然图象怎么更新
      

  3.   

    是的,
    在case WM_PAINT:下我用语句让用户区载入新的图象
      

  4.   

    WM_SIZE -> WM_PAINT是什么意思
      

  5.   

    用Invalidate或InvalidateRect声明无效自己发送WM_PAINT是毫无意义的,因为WM_PAINT起作用的前提是存在无效区域,当已存在无效区域而消息队列中无其它消息时WM_PAINT会自动发送,当然你也可以用UpdateWindow()强制发送。
    因此将你的SendMessage(hWnd,WM_PAINT,0,0)
    改为
    InvalidateRect(...);
    UpdateWindow();
      

  6.   

    You should use InvalidRect();