当前位置: 首页 > news >正文

MFC双缓冲 防止闪屏

好久没有写mfc的东西了。今天帮别人看改个闪屏的问题。

弄了挺久的。。写在把解决的方法写出来。


void CWanggeView::OnDraw(CDC* pDC) { CWanggeDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CRect rect; GetClientRect(&rect); //建立与屏幕设备描述表(前端缓冲区)兼容的内存设备描述表句柄(后备缓冲区) MemDC.CreateCompatibleDC(NULL); //这时还不能绘图,因为没有位图的设备描述表是不能绘图的 //下面建立一个与屏幕设备描述表(或者内存设备描述表)兼容的位图 MemBitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height()); //将位图选入到内存设备描述表 //只有选入了位图的设备描述表才有地方绘图,画到指定的位图上 CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap); // //绘图什么的就写在这里。。。 // //将后备缓冲区中的图形拷贝到前端缓冲区 pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY); //绘图完成后的清理 MemBitmap.DeleteObject(); MemDC.DeleteDC(); }

相关文章:

  • js数组操作
  • React-router
  • SourceEngine中的粒子系统
  • Java并发编程(五)锁的使用(下)
  • FilmicToneMapping
  • 一对多关联按照一方的id查找信息的一个笛卡尔积问题
  • Android 滑动效果基础篇(四)—— Gallery + GridView
  • lvm基本应用(自我整理)
  • 【IOS】多语言资源文件加载的一种解决方案
  • BZOJ4725: [POI2017]Reprezentacje ró?nicowe
  • Log4j和thymeleaf结合导致sql 日志输出不了
  • Cocos2d-x win7 + vs2010 配置图文详解 .
  • 【codevs1073】家族
  • 谈谈Ubuntu for Android
  • 关于数据库存储长度的区别比较
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • java2019面试题北京
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • PHP的Ev教程三(Periodic watcher)
  • springboot_database项目介绍
  • vue2.0项目引入element-ui
  • Web设计流程优化:网页效果图设计新思路
  • WePY 在小程序性能调优上做出的探究
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 大型网站性能监测、分析与优化常见问题QA
  • 简单易用的leetcode开发测试工具(npm)
  • 京东美团研发面经
  • 全栈开发——Linux
  • 通信类
  • hi-nginx-1.3.4编译安装
  • #、%和$符号在OGNL表达式中经常出现
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2020)Java后端开发----(面试题和笔试题)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (办公)springboot配置aop处理请求.
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (六)vue-router+UI组件库
  • (四) Graphivz 颜色选择
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Linux下编译安装log4cxx
  • (转)ORM
  • . NET自动找可写目录
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core中Emit的使用
  • .Net MVC + EF搭建学生管理系统
  • .NET 反射 Reflect
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET6 命令行启动及发布单个Exe文件
  • .NET大文件上传知识整理
  • .net分布式压力测试工具(Beetle.DT)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国