实现鼠标左键按下显示当前坐标,但是显示闪动非常快,看不清数据,怎么能让显示的慢些啊?多谢!
代码如下:
void CCView::OnDraw(CDC* pDC)
{
    CClientDC dc(this);
     CString str;
     str.Format("%d, %d", m_ptOut.x, m_ptOut.y);
     dc.TextOut(m_ptOut.x, m_ptOut.y, str);
}
void CCView::OnLButtonDown(UINT nFlags, CPoint point) 
{
   m_ptOut.x=point.x;
 
   m_ptOut.y=point.y;
    Invalidate(false); 
}

解决方案 »

  1.   

    按楼主的方法测试没什么问题!
    不知道楼主什么原因,
    问一下,m_ptOut是什么形式的变量?
    全局的?成员?
      

  2.   

    m_ptOut是view的私有成员
    结果显示闪动非常快,看不清数据!
      

  3.   


    void CCView::OnDraw(CDC* pDC) 

           CString str; 
        str.Format("%d, %d", m_ptOut.x, m_ptOut.y); 
        pDC->TextOut(m_ptOut.x, m_ptOut.y, str); 

    void CCView::OnLButtonDown(UINT nFlags, CPoint point) 

      m_ptOut.x=point.x;   m_ptOut.y=point.y; 
        Invalidate(TRUE); 
    }
      

  4.   

    楼主 是不是 在 WM_MOUSEMOVE 等其他消息里加了什么处理?
    按照你提供的代码没有问题WM_LBUTTONDOWN
    WM_NCHITTEST
    WM_SETCURSOR
    WM_MOUSEMOVE
    WM_PAINT
    WM_LBUTTONUP
      

  5.   

    能不能不在OnDraw里显示?
    在状态栏里显示