注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一切安好

想的有多远,飞的就有多高

 
 
 

日志

 
 

autoredraw属性  

2014-02-04 15:50:21|  分类: vb |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  定义:返回或设置从图形方法到持久图形的输出。
  当属性值为: 

True

使 Form 对象或 PictureBox 控件的自动重绘有效。图形和文本输出到屏幕,并存储在内存的图象中。该对象不接受绘制事件,必要时,用存储在内存中的图象进行重绘。

False

(缺省值)使对象的自动重绘无效,且将图形或文本只写到屏幕上。 当需要重画该对象时,Visual Basic 会激活对象绘制事件。

  使用下列图形方法工作,如:Circle、Cls、Line、Point、Print 和 Pset,该属性极为重要。利用这些方法,在改变对象大小或隐藏在另一个对象后又重新显示的情况下,设置 AutoRedraw 为 True,将在 Form 或 PictureBox 控件中自动重绘输出。
  举例说明其作用:新建一个标准EXE项目,然后在窗口click事件加入以下代码:
  me.line(100,100)-(5000,5000),vbred,B
 运行此程序,点击窗口,会出现一个矩形,然后缩小此窗体再放大窗体,此时矩形已消失不见。
 原因是窗口和窗口中的全部控件在内存中储存着窗口和空间的内容,并在它们隐藏时及时重绘窗口,使它们再出现在屏幕上。与此相反,绘制的图形没有储存,它们只是绘制在屏幕上而已,并没有在内存中保留,因此当窗口隐藏又被重绘后,图案由于没有被重绘,所以消失了。
  解决办法:1、把autoredraw属性值设置成True。autoredraw属性就是自动重绘,即绘制的图形会储存在内存中。
            2、使用paint事件绘制图形,Paint事件会在窗口第一次显示时被触发,之后每次窗口重绘,Paint事件都会再次被触发。(需要注意的是,AutoRedraw属性被设为True时,Paint事件就不再被触发了。至于要选用何种方法,完全看程序要求。一般来说,将AutoRedraw属性设为True可以简化程序,但它会耗费一定的内存空间,尤其是当图形比较复杂时,它会使显示速度变慢。)
  autoredraw属性当如斯,我只能理解到这个程度,如果有什么意见,可以共同交流。
  
  评论这张
 
阅读(28)| 评论(16)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017