VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 424|回复: 0

VC++ 制作MFC画图软件遇到重影问题

[复制链接]
58_avatar_middle
最佳答案
0 
在线会员 发表于 2022-5-20 15:51:53 | 显示全部楼层 |阅读模式
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);
    }

}


屏幕截图 2022-05-20 154839.jpg




上一篇:求助,字符串编辑,修改文件名
下一篇:编译生成,成功。控制台运行提示“找不到avcodec-59.dll”
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-9-28 03:57

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表