——可选,单精度数值表达式,指示对象的高度例6-1改变窗体的位置和大小。
Private Sub Form_Load()
Dim Inch, Msg
Msg = \"对属性赋值,调整窗体\"MsgBox(Msg)Inch = 1440
Width = 4 * InchHeight = 2 * InchLeft = 0Top = 0
Msg = \"用Move方法调整窗体\"MsgBox(Msg)
Move(Screen.Width / 2, Screen.Height / 2, 2 * Inch, Inch)End Sub
2.闪烁
在应用中往往希望图形呈现闪烁效果,可以通过操作控件的Visible属性实现。例如,以某个时间交替地执行以下两个语句:
Picture1.Visible=0Picture1.Visible=-1上述语句可以简化为一个语句
Picture1.Visible=Not Picture1.Visible
例6-2用计时器控制图片框的闪烁。
Private Sub Form_Load()
Timer1.Interval = 1000End Sub
Private Sub Timer1_Timer()
Picture1.Visible = Not Picture1.VisibleEnd Sub
3.动画
播放动画是指在屏幕上不断地切换一系列相关联的图形,这些图形文件都是预先制作好的。显示图形要用控件作为载体,如果要为每个图形文件设置一个图形控件,显然是十分麻烦的事情。使用Picture对象数组,把一系列图形保存在内存中,对制作动画或要求图像快速变换的应用程序是非常有用的。
例6-3下面看一个使用Picture对象数
组设计动画的例子。VB目录下有一些有用的图形文件,把一组月亮图案拷贝到工作目录下,模拟月相的变化。
首先创建一个新的工程,在窗体模块中定义一个Picture对象数组:
Option Explicit
Dim picmoon(8) As PicturePrivate Sub Form_Load()Dim path As String'注意路径
path = App.path + \"\\\"
'将位图加载到图片对象数组
Set picmoon(0) = LoadPicture(path & \"Moon01.ico\")Set picmoon(1) = LoadPicture(path & \"Moon02.ico\")Set picmoon(2) = LoadPicture(path & \"Moon03.ico\")Set picmoon(3) = LoadPicture(path & \"Moon04.ico\")Set picmoon(4) = LoadPicture(path & \"Moon05.ico\")Set picmoon(5) = LoadPicture(path & \"Moon06.ico\")Set picmoon(6) = LoadPicture(path & \"Moon07.ico\")Set picmoon(7) = LoadPicture(path & \"Moon08.ico\")End Sub
Private Sub Timer1_Timer()Static count As Integercount = (count + 1) Mod 8Me.Picture = picmoon(count)End Sub
程序中使用了Picture对象数组。Picture是VB提供的类,它并不像控件那样出现在工具箱中,但它具有以将位图、图标、元文件、增强元文件,Picture属性,程序运行时可以显示出来。可JPEG在程序中使用等各类图像赋给GIF和面设计时为窗体添加图形控件。当然,也可以用Picture对象操纵图形,而不需要在界Picture对象的Picture属性,语句把控件或窗体的Picture属性赋给Picture对象。
Set运行这个程序时,Me是VB的关键字,它像是隐含声明的变量。Me是一个Picture类的对象名。这个关键字适用于类模块中的每个过程。当类有多个实例(对象)时,供引用具体实例的方法。
Me在代码正在执行的地方提6.3图形控件图片框和图像框用于显示已经存在的图形文件。直线(Line)控件和形状(Shape)控件是用于绘制一般几何图形的控件,使用这两个控件的优点是:所需的系统资源比其他VB控件少,从而能够提高应用程序的性能;另一个优点是:创建图形要用的代码比用图形方法绘图所用的代码少。
1.BorderColor
用于设置直线和形状边界线的颜色。2.BorderStyle
确定直线和形状边界线的线型。值0123456文字常数vbTransparentvbBSSolidvbBSdashvbBSDotvbBSDashDotvbBSDashDotDotvbBSInsideSolid描述透明默认值,实线虚线点线点划线双点划线内收实线1. BorderColor
用于设置直线和形状边界线的颜色。2. BorderStyle
确定直线和形状边界线的线型。3. BorderWidth
指定直线和形状边界线的线条宽度。4. BackStyle
指定控件背景色是否为透明。5. FillColor定义填充颜色。6. FillStyle
定义填充图案模式。7.Shape
确定形状控件所画的几何特征。
例6-4试验Shape控件的6种可能形状及采用不同的线型和填充图案。此例在窗体上建立一个形状控件Shape1;设置一个单选按钮Option1,将Index属性设置为0,创建一个只有一个元素的控件数组。运行下列程序后,每次单击单选按钮能看到一个不同的形状。
Option Explicit
Private Sub Form_Load()Dim i
Option1(0).Caption = \"Shape #0\"For i = 1 To 5
Load Option1(i)
Option1(i).Top = Option1(i -1).Top + Option1(0).Height + 400Option1(i).Caption = \"Shape #\" & iOption1(i).Visible = TrueNext iEnd Sub
Private Sub Option1_Click(Index As Integer)Shape1.Shape = Index
Shape1.BorderStyle = IndexShape1.FillStyle = IndexEnd Sub
使用图形控件绘制简单的几何图形,方法简单,应用程序的运行开销小。但是,图形控件的使用受到了一定的限制:
1.不能出现在其他控件之上,除非它们是在一个容器控件(如图片框)里;2.不能在运行时接收接收焦点;3.不能作为其他控件的容器;4.不具有hWnd属性。
6.4 用代码画图使用窗体或图片框的画图方法比用图形控件要灵活。图形方法可以实现一些图形控件无法达到的视觉效果。
才能看到图形方法的效果。
用图形方法创建图形必须运行应用程序时VB主要画图方法:
方法ClsPsetPointLineCircle
PaintPicture作用
清除所有图形和Print输出画点,设置各个像素的颜色返回指定点的颜色值画线、矩形或填充框画圆、椭圆或圆弧在任意位置画图形文件
Print方法也可以认为是一种图形方法,因为它的输出也是写在对象上,像Pset, Line和Circle方法一样,也要以内存图像的方式进行保存(AutoRedraw设为Ture)。每种图形方法都输出到窗体、图片框或者是打印机
(Printer对象)上,如果省略了图形方法的作用对象,VB就认为画在当前窗体上。
例如,下列语句在不同对象上画一个点:MyForm.Pset(500,500)‘名为MyForm的窗体上
picPicture1.Pset(500,500)‘名为picPicture1的图片框内PSet(500,500)‘当前窗体上
6.4.1 点和线
(1)Cls 方法
格式:[