VC++ 制作MFC画图软件遇到重影问题,即画图的时候,把路径也给显示出来了,相当于在移动鼠标的时候,一直在画,导致出现重影
//Move 函数
void CMyView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMyDoc *p=GetDocument();
p->p=point;
if(p->flag1%2==1){
p->p2=point;
}
CView::OnMouseMove(nFlags, point);
Invalidate(FALSE);
}
//左键点击函数
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMyDoc *p=GetDocument();
p->flag1 += 1;
if((p->flag1)%2==1){
p->p1 = point;
}
if((p->flag1)%2==0){
p->p2 = point;
p->flag1=0;
Invalidate(FALSE);
}
CView::OnLButtonDown(nFlags, point);
}
//onDraw 函数
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CString s;
s.Format("x=%d,y=%d",pDoc->p.x,pDoc->p.y);
pDC->TextOut(10,10,s);
if(pDoc->mode==1){
pDC->Ellipse(pDoc->p1.x,pDoc->p1.y,pDoc->p2.x,pDoc->p2.y);
}
}
运行结果及报错内容
出现重影

我的解答思路和尝试过的方法
我的想法是,如何再画出下一个图形时,删除上一个图形
我想要达到的结果
刚学VC,学校只教了一周,希望大家点拨点拨