因为是对不同的按钮响应,绘制不同的图形,所以绘制代码都在相应的按钮响应函数里,不在OnPaint()里。
我想的是在窗口重画之前,先保存客户区的图像,重画之后再贴回来。但是应该怎么做呢?

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 爬虫师

    19人对此回答表示赞同

    你使客户区置为无效,也就是要重新刷新整个客户区或者某个具体的客户区域
    在按钮的执行函数中的最后添加刷新函数
    整个客户区用:void Invalidate( BOOL bErase = TRUE );
    具体区域用:void InvalidateRect( LPCRECT lpRect, BOOL bErase = TRUE );
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 未语泪先流

    4人对此回答表示赞同

    一般MFC中 OnDraw(CDC*pDC) 这个函数 后面都有 CDC*pDC
    HDC就是最原始的 DC 句柄 ,在MFC中,为了将API封装成一个类来操作,因此多出来了一个CDC
    所以你说的那块绘图的区域 就是定义一块内存!

    双缓充技术 就是开2个DC
    CDC MemDC1;
    CDC MemDC2;
    MemDC1.MoveTo(20,420);
    MemDC1.LineTo(425,420);//这是画到第一个
    展开
    4
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Aubree

    3人对此回答表示赞同

    使用双缓冲或多缓冲机制吧.
    楼主可以搜索一下相关的教程.在这里一句话说不清楚

    给个超级无敌传送门:
    http://www.vckbase.com/document/viewdoc/?id=1612
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部