热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

一个关于DDraw的简单问题,50分!

问题很简单:1,我建立了一个单文档界面程序;2,以NORMAL级别创建了一个DDraw对象;3,创建一个主图面和一个剪裁器;3,在CView的OnDraw函数里,向主图面以单一颜色填充
问题很简单:
1,我建立了一个单文档界面程序;
2,以NORMAL级别创建了一个DDraw对象;
3,创建一个主图面和一个剪裁器;
3,在CView的OnDraw函数里,向主图面以单一颜色填充.

问题在于:当ReSize窗口时,CView内容闪烁的厉害,看起来好象是:窗口先绘制自己,然后才轮到我的DDraw图面对象的Blt函数绘制图面.这样一来,窗体先为自己画一个白色底面,然后我的DDraw图面对象的Blt函数再向窗体填充颜色.当ReSize窗体时,看起来就是白色和填充色交替出现,只不过很快,但是也是闪烁的.

怎么能不让它闪烁?怎么能不让CView绘制自己的白色底面?我想让我的图面完全接管CView来绘制内容.

能够解决问题的回复,立刻给分.谢谢,谢谢.

6 个解决方案

#1


补充:我指的ReSize窗体,就是指用鼠标拖动窗体边框,改变窗体大小.我在桌面属性里设置了"拖动时显示窗体内容".

闪烁只在缩放窗体时出现,移动时没有.

闪烁就是:窗体内容大体上是指定的填充色,但是上上下下有水平白条闪烁.

#2


写一个OnPrepareDC函数就可以了

#3


主要是要在系统调用OnDraw函数前面不要更新屏幕,还有就是不对WM_ERASEBKGND进行处理,覆盖CWND的OnEraseBkgnd函数,这个函数负责调用OnDraw前面更新窗口背景

#4


按您的说法,处理WM_ERASEBKGND就已经解决问题了。
唉,本以为……5555……本以为自己水平还可以,可是怎么上天还生了个XCOOL呢?郁闷中……(玩笑,别介意,是在赞美)

#5


我本来差点就想用DDraw的覆盖图功能了。可是您知道那覆盖图可不是那么好玩的!多亏您指明了捷径,谢谢谢谢~

#6


请笑纳

推荐阅读
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • PostgreSQL 12 版本预览:分离 max_wal_senders 和 max_connections 的连接槽处理
    本文介绍了 PostgreSQL 12 中的一项重要改进,即 max_wal_senders 参数不再计入 max_connections,从而解决了流复制连接槽不足的问题。 ... [详细]
  • Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ... [详细]
  • 我在一个UIImageView上附加了一个UILongPressGestureRecognizer,但无论如何配置,它都无法检测到长按手势。然而,当我将其替换为UITapGestureRecognizer时,后者却能正常工作。这究竟是怎么回事? ... [详细]
  • 短视频app源码,Android开发底部滑出菜单首先依赖三方库implementationandroidx.appcompat:appcompat:1.2.0im ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • PBO(PixelBufferObject),将像素数据存储在显存中。优点:1、快速的像素数据传递,它采用了一种叫DMA(DirectM ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文介绍了 Android 开发中常用的滚动视图组件 ScrollView 和 HorizontalScrollView 的基本用法和注意事项,帮助开发者更好地处理屏幕内容超出显示范围的情况。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 本文介绍了在 iOS 开发中设置图片和视图圆角的几种方法,包括通过 layer 设置圆角、使用贝塞尔曲线和 Core Graphics 框架,以及使用 CAShapeLayer 和 UIBezierPath。每种方法都有其优缺点,适用于不同的场景。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文主要介绍如何使用标签来优化Android应用的UI布局,通过减少不必要的视图层次,提高应用性能。 ... [详细]
author-avatar
憐海周_472_151
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有