vb的(图片框等控件的)autoredraw、refresh、cls等等属性和方法,与(图片框等控件的)picture属性、image属性之间,以及与vb一般的图形方法及api绘图函数等等之间,存在比较复杂的关系。通过学习了各种资料和演示程序,基本上搞清楚了。结论如下所示(不涉及更深层的机制)。请大家指正。
首先,有三种相关的“图形”概念:1.屏幕(窗体、图片框等等,甚至电脑桌面)上面显示的图形,也就是能够看到的图形,2.(图片框等控件的)image属性里面的图形,3.(图片框等控件的)picture属性里面的图形。这三种图形彼此相关,各种命令对它们有不同的作用。
第二,屏幕(窗体、图片框等等,甚至电脑桌面)上显示的所有内容(不含控件)(也就是上面所说的第1种“图形”),按来源可以分为:backcolor底色、背景色,加载或赋值的图片(也就是picture属性),用circle、line等方法或api函数作的图形。而作的图形,根据(不同条件下)是否可以被cls、是否可以被refresh、能否导出到图片文件等等,可以分为“临时图形”和“持久图形”。从下到上,依次是底色、加载或赋值的图片、作的图形。
下面看各种操作对各种图形的影响。
1.当(窗体、图片框等的)autoredraw=false时,使用各种方法或操作,所影响的对象和效果如下:
|
屏幕图形 |
image属性 |
picture属性 |
circle方法,line方法, |
显示所作的图形 |
不变 |
不变 |