开始在lbuttondown里用那个TrackRubberBand,但是发现不能响应up了,望不吝赐教是否还有其他好方法,或者如何在鼠标弹起时终止TrackRubberBand?

解决方案 »

  1.   

    如果要用CRectTracker,参考VC例程tracker。如果只是要简单实现“在圈选时实现蚂蚁线 ”,用CDC::DrawFocusRect即可画出矩形虚框,这个函数使用异或方式画图,在同一位置画第二次时擦出第一次画的线。---
    void CTestView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    if(m_bLButtonDown)
    {
    CRect rectLast(m_ptFrom, m_ptLast);
    rectLast.NormalizeRect();
    dc.DrawFocusRect(&rectLast);  // erase

    CRect rectThis(m_ptFrom, point);
    rectThis.NormalizeRect();
    dc.DrawFocusRect(&rectThis);  // draw
      m_ptLast = point;
    }
    }