::SendMessage( hWnd, WM_PRINT, (WPARAM)hdcMemory,(LPARAM) PRF_NONCLIENT | PRF_CLIENT | PRF_CHILDREN |PRF_CHECKVISIBLE | PRF_ERASEBKGND | PRF_OWNED);发送WM_PRINT 别的控件好办  按钮就在DrawItem里处理但是static 如何处理呢,OnPaint()不响应  如何处理谢谢大家或许不该发送WM_PRINT,等待。

解决方案 »

  1.   

    SendMessage 要返回一个绘制过的hdc,这是我暂时需要的  当然也可以想办法直接绘制返回过来
      

  2.   

    static 可以响应WM_PAINT啊~~~WM_PAINT的优先级比较低,你试试用PostMessage,又不久Invalidate + UpdateWindow~~~
      

  3.   

    哈哈 我觉得是对static WM_PAINT就不响应,按钮,列表什么都没问题,就它不响应有没有办法SendMessage个什么消息 返回一个绘制过的hdc 的吗谢谢大家
      

  4.   


      m_Static.RedrawWindow();
      CDC *pDC = m_Static.GetWindowDC();  //Add your code here
      
      m_Static.ReleaseDC(pDC);
      

  5.   

    WM_PAINT(不是WM_PRINT)消息对任何控件都不允许手工发送,你其他控件好办是怎么好办得?
      

  6.   

    m_Static.RedrawWindow();
      CDC *pDC = m_Static.GetWindowDC();  //Add your code here
      
      m_Static.ReleaseDC(pDC);
      

  7.   

    m_Static.RedrawWindow();
      CDC *pDC = m_Static.GetWindowDC();  //Add your code here
       
      m_Static.ReleaseDC(pDC);