资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020年5月29日星期五,#,11 十一月 2026,第1章熟悉VB集成环境并设计第个VB应用程序,6.2 使用 Visual Basic作图,一、绘图属性,1.用AutoRedraw创建持久的图形,每个窗体和图片框都具有AutoRedraw属性。,(1)当AutoRedraw为默认值False时,VB会把图形输出到屏幕,而不输出到内存。,(2)当AutoRedraw为True时,VB会把图形输出并保存在内存中。,注意:运行时,只有当AutoRedraw为True时,才可以用Cls方法清除。,举例,:,6.2 使用 Visual Basic作图,2、使用CurrentX、CurrentY设置当前坐标,(1)窗体或图形框或打印机的CurrentX、CurrentY属性给出这些对象在绘图时的当前坐标。,(2)这两个属性在设计阶段不能使用。当坐标系确定后,坐标值(x,y)表示对象上的绝对坐标位置。,(3)如果坐标值前加上关键字Step,则坐标值(x,y)表示对象上的相对坐标位置,即从当前坐标分别平移x、y个单位,其绝对坐标值为(CurrentX+x,CurrentY+y),(4)使用CLS方法后,CurrentX、CurrentY属性值为0。,3、用DrawWidth和DrawStyle属性设置 线宽与线型,窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位来度量,最小值为1。,例6.2,用DrawWidth属性改变直线宽度。,6.2 使用 Visual Basic作图,窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状,。,6.2 使用 Visual Basic作图,注意:只有当DrawWidth设置为1时,DrawStyle属性才会产生如上图所示的各种效果。,4、填充与色彩,由Fillstyle、Fillcolor这两个属性决定封闭图形的填充方式。,(1)Fillcolor指定填充图案的颜色,默认的颜色与Forecolor相同。,(2)FillStyle属性取值07,用来指定填充的图案,共有8种内部图案。,6.2 使用 Visual Basic作图,注意:如果FillStyle设置为1(透明),则忽略FillColor属性,但Form对象除外。,6.2.2 画点,案例18:,在窗体上画一幅群星闪烁的画面。,(1)案例效果(,演示,),(2)案例分析,1、画点(Pset方法),例:,1.Pset(500,1000),RGB(255,0,0),2.Pset(500,1000),BackColor 擦除该点,格式,:对象.,Pset,(x,y),Color,参数说明,:,(X,Y),:确定画点的位置,单精度,可以是常量或变量和表达式,Color,:设置点的颜色,缺省时,点的颜色为,ForeColor,6.2.2 画点,6.2.2 画点,(3)案例实现(,演示,),Private Sub TIMER1_TIMER(),Dim i As Integer,Dim x,y As Single,For I=1 To 100,X=Int(Rnd*6000),Y=Int(Rnd*6000),PSet(X,Y),vbYellow,Next I,End Sub,直线格式,:,对象.,Line,Step(x1,y1)-Step(x2,y2),Color,参数说明,:,(X1,Y1),:,画线的起点,省略:当前坐标为起始坐标。,(X2,Y2),:直线的终点,Color,:设置直线的颜色 缺省时,为,ForeColor,Step,:,表示后面的坐标相对于当前坐标的偏移量,6.2.3 画直线和矩形,举例,:,Private Sub Command1_Click(),Line(1000,1000)-(2000,2000),Line-(300,3000),Picture1.Line(100,500)-Step(2000,2000),Picture1.Line(1500,1500)-Step(200,200),vbBlue,End Sub,如何改变直线的,粗细和线型?,6.2.3 画直线和矩形,DrawWidth属性:指定线的宽度(以磅为单位)。,DrawStyle属性:指定线型。,矩形格式,:,对象.,Line,Step(x1,y1)-Step(x2,y2),Color,BF,参数说明,:,(X1,Y1),:,矩形的左上角点,省略:当前坐标的为起始坐标,(X2,Y2),:矩形的右下角点,B:,表示画一个矩形;,F:,表示画一个,实心,的矩形,这时忽略,Fillcolor和FillStyle,属性,注意:,有B参数才能使用F,例1,:,Private Sub Command1_Click(),Line(500,500)-Step(1000,0),Line-Step(0,1000),Line-Step(-1000,0),Line-Step(0,-1000),Line(500,500)-Step(1000,1000),BF,End Sub,6.2.3 画直线和矩形,6.2.4 画圆、椭圆、圆弧和扇形,案例19:,在窗体上绘制一幅颜色、大小各不相同的彩环。,(1)案例效果(,演示,),格式,:,对象.CircleStep(x,y),半径,Color,起始角,终止角,纵横比,6.2.4 画圆、椭圆、圆弧和扇形,(1)1时,指向垂直方向的Y半径,参数说明,:,起始角和终止角:取值在0 时为圆弧。,如果起始角的绝对值大于终止角的绝对值,则画一个角度大于180的圆弧;如果为负数,则画出扇形。,(2)案例分析,6.2.4 画圆、椭圆、圆弧和扇形,6.2.4 画圆、椭圆、圆弧和扇形,Private Sub Command1_Click(),X=Form1.Width,Y=Form1.Height,For I=1 To 10,R=Rnd*Y*,0.1,Circle(X*Rnd,Y*Rnd),R,QBColor(I),Next I,End Sub,(3)案例实现(,演示,),6.2.5 使用Line控件和Shape控件作图,案例20:,在窗体中展示形状控件。,(1)案例效果,(,演示,),6.2.5 使用Line控件和Shape控件作图,1.Line控件,常用属性,:,X1、Y1、X2、Y2:控制线的两个端点。,BorderWidth:设置线宽。,BorderStyle:设置线形。,2.Shape控件,常用属性:,FillStyle:设置填充图案。,FillColor:设置填充颜色。,Shape:提供6种预定义形状。(,演示,),(2)案例分析,1、设计阶段,方法,:,属性窗口的Picture属性装入。,利用剪贴板,步骤:在绘图软件中复制图片,选中图片框,粘贴,2、运行阶段,方法,:使用LoadPicture函数,格式:对象.Picture=LoadPicture(“文件名”),其中文件名包含路径。,复制:Picture2.Picture=Picture1.Picture,删除图片格式:对象.Picture=LoadPicture(),对象.Picture=LoadPicture(“”),6.3 使用图片,图片框(PictureBox)和图像框(Imag),1、作用,:在指定位置显示图形信息。,2、区别,:,图片框中可以包含其他控件,图像框不能。,图片框可以通过Print方法接收文本,图像框不能。,图像框占用内存少,显示速度快。,6.3 使用图片,3、属性,:,Picture,属性:通过属性窗口设置,用来把图形放入这些对象中。,适用于,:窗体、图片框、图像框。,支持的图形文件格式:,Bitmap Icon Metafile JPEG GIF,(2)图像框的Stretch属性:自动调整图像框中图形内容的大小。,格式:对象.Stretch=Boolean,取值False时,可以自动改变大小。,6.3 使用图片,(1)图片框的AutoSize属性,当AutoSize属性为True时,可使图片框自动扩展到可容纳新图片的大小。,6.4 定时器控件,案例21:,制作一个模拟秒表,可用来计时。,(1)案例效果,属性:,Enable属性,:是否可用,Interval属性:,定时器事件之间的时间间隔(毫秒数),取值范围:0-64767,最长间隔为64.8秒,事件:,Timer事件,经过了interval所设置的时间间隔后,将会触 发timer事件.,计时器控件(Timer):按一定的时间间隔执行操作,可制作动画效果,6.4 定时器控件,(2)案例分析,分析:,(1)在窗体上装入一个图片(picture控件),(2)图片在窗体上的位置不断改变即,Left,Top,例:,以窗体为背景,显示汽车行驶的动画,Private Sub,Timer1_Timer,(),Picture1.Left=Picture1.Left+10,End Sub,6.4 定时器控件,例:,显示滚动字幕,Private Sub Timer1_Timer(),Label1.Left=Label1.Left+100,If,Label1.Left=Form1.Width,Then,Label1.Left=-Label1.Width,End If,End Sub,6.4 定时器控件,练习:,P199,在窗体上以当前窗体为中心,画若干条位置和颜色均随机设置的射线。,
展开阅读全文