zoukankan      html  css  js  c++  java
  • Window下减少重绘的方法

    这是一个老问题,网上也有很多解决方案。最近自己做的项目又重新折腾了一番,写下来以备遗忘。

    1.  使用双缓冲显示的方式

              在.net精简框架下,可以使用Image对象做缓冲。绘图的时候先绘到缓冲中。代码如下:

    Code

    2.  只更新需要更新的区域,在处理Paint事件时,只画失效的部分。代码如下:

    Code

    3.  告诉操作系统不要擦除背景颜色,这是显示出现闪烁的重要原因,因为每次控件重绘之前,系统默认会使用背景色填充背景,但是背景色通常和真正显示的内容反差比较大,所以出来的效果就会一闪一闪的。要处理这个问题,需要自己处理WM_ERASEBKGND消息,并返回1。这样操作系统将不会自动重绘背景。在.net精简框架中处理windows消息的方法参见另一篇博文".Net精简框加下子类化控件"。

  • 相关阅读:
    十、collection的作用+变量
    python借助ADB工具实现自动化操作手机
    selenium 对浏览器标签页进行关闭和切换
    python编写shell脚本
    报错解决——# Creating Server TCP listening socket *:6379: bind: Address already in use
    Mac 报错:-bash: telnet: command not found
    Mac快捷键大全及cheatsheet插件
    报错解决——xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    Mac破解免费office软件
    python 当前时间多加一天、一小时、一分钟
  • 原文地址:https://www.cnblogs.com/shangfc/p/1497125.html
Copyright © 2011-2022 走看看