混合水果汁的配方:谁懂vb进来帮帮我!

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 00:52:54
vb中AutoRedraw(重画)是什么意思?

在Form或PictureBox中有一个Picture属性物件,另外还有一个Image属性物
件,Picture物件应该很清楚,它是用来存放图形资讯的,可是Image呢?它也是用来存
图形资讯,但二者不相同;Image的影像是在记忆体中、看不见的影像,这看不见的影像
对映着我们在萤上看见的影像(我们见到的是Picture物件之影像)。也就是说一共有两份
影像,一份在记体看不见的(Image),另一份看得见(Picture)。而AutoRedraw是作为切
换这二者之机制,当AutoRedraw设为False时,在上面的绘图会影响Picture,而且会立
刻让我们看到绘图的果结果,此时Form/PictureBox的hdc是Picture的Device Context
Handle。而AutoRedraw设为true时,所有绘图动作是在Image上做的,所以我们发现萤幕
上没有绘图之变化,而此时Form/PictureBox的hdc是Image的Device Context Handle(如
果您在AutoRedraw为true与False时各别列印hdc来看,两个hdc的值会不相同),而画面
上的变化是直到我们用Refresh指令时,才见得着。事实上Refresh 的指令做了以下的动
作: Set Obj.Picture = Obj.Image (Obj为Form或PictureBox);即使用看不见的那份
Image影像来覆盖Picture的影像。

简单说就是在你将窗口最小化之后再最大化,仍然能看到以前在窗口上打的字或者画的图像.以下是个例子,复制到窗口代码里,并运行.
如果你将autoredraw设置false,那么你点一下窗口,能看到窗口上打印出Hello,当你最小化并最大化窗口后,你就不能看到了,如果你将autoredraw设置为true,则仍然能够看到.
sub form_click()
if me.tag<>"1" then
me.print " Hello "
me.tag="1"
endif
end sub