我做一个像画板的程序,可是画线,在旋转线,或移动移动的时候总是在旁边出现好多没有被清除的小点,我的代码在线旋转的时候已经把以前的线重画一边了,为什么还有多余的点出现呢????帮帮忙
enum {ppoint,line,bline,pline,circle,rectangle,muli,text,pic} DStatus;
View 的左键代码
void CEastDrawView::OnLButtonDown(UINT nFlags, CPoint point) 
{    dCount=dCount+1;
CClientDC dc(this);
if (DStatus==line)
{ if (dCount==2)
{dCount=0;
 DlPoint=false;
}
    else if (dCount==1)
{ s_Point=point;
      DlPoint=true;
}
else
{DlPoint=false;

}
}
CScrollView::OnLButtonDown(nFlags, point);
}
//////////////////////////////////////////////////////////////
鼠标移动的代码
void CEastDrawView::OnMouseMove(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default
   CPoint myPoint;
CClientDC dc(this);
    this->OnPrepareDC(&dc);
if (dCount==1)
    { 
 if (DStatus==line)
{
     DrawLine(&dc,s_Point,point);
 if (DlPoint==false)
 DrawLine(&dc,s_Point,fpoint);
 }
     fpoint=point;
 DlPoint=false;
 
}
    CScrollView::OnMouseMove(nFlags, point);
//////////////////////////////////////////////////////////////////
画线的代码
void CEastDrawView::DrawLine(CDC *pDC, CPoint sp, CPoint tp)
{ CPen m_pen;
 pDC->SetROP2(R2_NOTXORPEN); 
 m_pen.CreatePen(PS_SOLID,1,RGB(0,0,0));
 CPen* pen=(CPen*)pDC->SelectObject(&m_pen);
 COLORREF OldColor=pDC->SetBkColor(pDC->GetBkColor());
 int OldBkMode=pDC->SetBkMode(TRANSPARENT);
 pDC->MoveTo(sp);
 pDC->LineTo(tp);
 pDC->SelectObject(pen);
 pDC->SetBkMode(OldBkMode);
 pDC->SetBkColor(OldColor);
}
}