理论上不管什么控件都适用,方法如下:

新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动:

首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景:

BOOL CXXXCtrl::OnEraseBkgnd(CDC* pDC)
{
    return TRUE;
}

然后覆盖 OnPaint(),原理是先在内存DC中绘图,之后再一股脑将画出的东东填涂到窗体上。

代码

void CXXXCtrl::OnPaint()
{
    CPaintDC dc(this);
    // TODO: 在此处添加消息处理程序代码
    CRect rect;
    CRect headerRect;
    CDC dcMem;    //内存DC
    CBitmap bmpMem;

GetClientRect(&rect);
    dcMem.CreateCompatibleDC(&dc);
    bmpMem.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height());
    dcMem.SelectObject(&bmpMem);
    dcMem.FillSolidRect(&rect, RGB(255,255,255));

//这一句是调用默认的OnPaint(),把图形画在内存DC上
    DefWindowProc(WM_PAINT, (WPARAM)dcMem.m_hDC, (LPARAM)0);

//输出
    dc.BitBlt(0,
        0,
        rect.Width(),
        rect.Height(),
        &dcMem,
        0,
        0,
        SRCCOPY);
    dcMem.DeleteDC();
    bmpMem.DeleteObject();
}

转载于:https://www.cnblogs.com/ddgg/archive/2010/07/16/1779131.html

VC绘制控件如何防止闪烁相关推荐

  1. ST_Curve --- 一个专业的曲线绘制控件

    一:什么是ST_Curve?   ST_Curve是一个专业的曲线绘制控件,只要是xy坐标系的曲线,都可绘制,纵坐标只能显示为值,横坐标可以显示为值或者时间(如果你愿意为控件提供插件,则坐标可显示任意 ...

  2. vc picture控件的分类总结(转载)

    VC PICTURE控件的使用,如何加载背景图片 vc picture控件的分类总结: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定 ...

  3. 动态数据曲线绘制控件

    作为一个电子类专业的学生,下位机硬件是我们所擅长的,但是PC机从下位机获取数据后显示出来成为我们的一大难题,今天给大家展示了一个能实现上述功能的Demo例程. 首先,声明两点.第一,该例程中的曲线类是 ...

  4. vc picture控件载入背景图,随控件大小改变

    在mfc里,想要在Picture控件中载入一张图片有两种方法:静态的和动态的.静态的方法就是图片先载入资源(.rc)文件中,拥有一个唯一的ID:动态的方法就是制定图片的路径名即可. 当然这样的方法网上 ...

  5. MAUI中Maui.Graphics.Controls绘制控件

    简介 Microsoft.Maui.Graphics是一个完全采用C#的iOS,Android,Windows,macOS,Tizen和Linux的跨平台图形库. 对于MAUI项目当中绘制的方案是使用 ...

  6. 强大的流程图绘制控件WpfDiagram

    为什么80%的码农都做不了架构师?>>>    WpfDiagram是一款功能强大的流程图绘制控件,可以绘制工作流程图.对象层次和关系图.网络拓扑图.实体关系图.IVR.工业自动化. ...

  7. android github 评分控件_「开源」Arcgis for Android测量工具更新至V1.9,新增绘制控件...

    开源地址:https://github.com/roomanl/ArcgisTool 封装Arcgis Runtime for Android 100.6.0地图基本操作. 包括:测量工具控件及测量接 ...

  8. 在Paint事件中绘制控件(边框)

    在Paint事件中绘制控件(边框) 单纯的自己记录,将来会继续添加,侥幸被大家发现了的话请不要太鄙视... private void panel4_Paint(object sender, Paint ...

  9. android 绘制控件,Android_开发_Day29_自己绘制控件

    Android_开发Day29自己绘制控件 目的: 在Android中很多时候系统的控件是不能满足需要的,组合方式定义控件又非常繁琐,因此此时需要自己画一个控件,才能满足需要 技术: <1> ...

  10. VC++----ListBox控件的使用

    VC++----ListBox控件的使用_哈客部落 - 站长网部落 hake.cc 哈客站长网打造站长最好的部落 http://www.hake.cc/a/biancheng/ruanjian/vs/ ...

最新文章

  1. 突破性进展!上海光机所成果登上《Nature》封面!
  2. 迪杰斯特拉算法——PAT 1003
  3. 极速理解设计模式系列:2.观察者模式(Observer Pattern)
  4. .netframework3.5 中TimeZoneInfo 类的使用
  5. 设计灵感|各种孟菲斯风格海报,让你眼花缭乱
  6. Java Web学习总结(6)Cookie/Session
  7. Atitit 项目wechat微信截屏生成vcf通讯录384 个 384个人 42个节拍,平均每个8个人 技术点 im图像裁剪, ocr Tesseract Vcf格式 /wechatTel
  8. 最新修复版电影网站源码_2021版米酷影视v7.2.1源码 修复幻灯片 分类网址错误
  9. 媒体在计算机科学中的两种含义,多媒体技术应用_思考与练习题.doc
  10. 互联网日报 | 1月30日 星期六 | 苹果单季营收首破1000亿美元;特斯拉连续六个季度盈利;全球新冠肺炎确诊病例超1亿例...
  11. C#语言入门详解(刘铁锰)---泛型
  12. 【牛刀小试4】斐波那契数
  13. oracle漏洞修补,01-oracle漏洞修复
  14. pandas操作excel 笔记
  15. 安卓开发自学技巧!我了解到的面试的一些小内幕!附面试题答案
  16. 一位Java工程师的阶段性工作总结
  17. 【Linux CentOS】 实用指令之帮助指令
  18. JavaOOP面试题(108道)
  19. 对Shortcut使用的理解
  20. authorize(权限验证)

热门文章

  1. python计算机视觉库_荐 python计算机视觉入门
  2. mysql 针对table的查看命令行
  3. SVG 学习四 基础API
  4. 《Linux/UNIX OpenLDAP实战指南》——1.2 OpenLDAP目录架构
  5. 微信红包惊人秘密:谁最容易抢到大红包?
  6. 我的Android 4 学习系列之使用 Internet 资源
  7. PLSQL 连接不上64位ORACLE数据库解决办法
  8. CSS渲染器:将Photoshop Filters效果带入网络
  9. PowerShell 使用PowerTab加强Tab键自动补全
  10. 大型网络整体安装与配置解决方案