|
VC++ 制作MFC画图软件遇到重影问题,即画图的时候,把路径也给显示出来了,相当于在移动鼠标的时候,一直在画,导致出现重影,如图所示
我在想如何在画出下一个图形的时候,将上一个图形删除(我不知道是否有这个函数)所以想请教各位,学VC没几天,希望大佬们能点拨点拨
一些源代码:
//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);
}
}
|
-
上一篇: 求助,字符串编辑,修改文件名下一篇: 编译生成,成功。控制台运行提示“找不到avcodec-59.dll”
|