欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    vb程序编写语言学习.ppt

    • 资源ID:5451923       资源大小:770.50KB        全文页数:67页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    vb程序编写语言学习.ppt

    第8章:图形,12.1 用直线控件画线12.2 用形状控件画出几何图形12.3 用Pset方法画点12.4 用Line方法画线和矩形12.5 用Circle方法画圆、椭圆、圆弧及扇形12.6 使用PaintPicture方法12.7 窗体和控件的图形属性习题,12.1 用直线控件画线,直线控件常用的属性有下述4个。(1)BorderStyle:用来指定直线的类型。在属性窗口的属性表中,找到BorderStyle,单击右端箭头,有一个下拉菜单,列出下列7种类型。0Transparent,透明的,即不显示出线来。1Solid,实线。2Dash,虚线。3Dot,点线。4Dash-Dot,点画线。5Dash-Dot-Dot,双点画线。6Inside Solid,内实线。只有当BorderWidth为1时才可以用以上7种类型的线,如果BorderWidth不为1,则上述7种类型中只有0和6有效。(2)BorderWidth:设置线宽。(3)BorderColor:设置颜色。(4)x1、x2、y1、y2:指定直线起点和终点的x坐标及y坐标。可以通过改变x1、x2、y1、y2的值改变线的位置。,【例1】在窗体上使用直线控件画7条实线,编写一个事件过程,改变它们的颜色及类型。窗体设计如图所示。单击工具箱中的“直线控件”图标,在窗体上画出最上面一条直线,将其“名称”属性定为Lline。再画第二条直线,将其“名称”属性也定为LLine,这时会弹出一个消息框,问“你已有一个名为LLine的控件,你是否想建立一个控件数组”。选择“是”时,则系统会将该控件作为控件数组LLine中的一个元素LLine(1),而将第一条直线定为数组元素LLine(0)。下面以同样的方法再画出5条直线,分别定名为LLine(2)LLine(6)。在窗体上加两个命令按钮。将一个按钮的Caption属性设置为“画直线”,另一个设置为“退出”。按题目要求,单击“画直线”命令按钮,应画出不同颜色、不同类型的7条线。编写相应的过程代码:,图12.1,Private Sub cmdLine_Click()Line1(2).BorderWidth=1 For i=0 To 6 LLine(i).BorderColor=QBColor(i)LLine(i).BorderStyle=i Next iEnd SubQBColor是颜色函数,当参数i为不同值时,给出不同的颜色。运行程序时,单击“画直线”命令按钮,即将窗体上的7条直线分别改变为不同颜色和不同类型的直线,如图下所示。,QBColor 函数返回一个 Long,用来表示所对应颜色值的 RGB 颜色码。语法:QBColor(color)必要的 color 参数是一个界于 0 到 15 的整型。设置值color 参数有以下这些设置。值颜色0黑色8灰色1兰色9亮兰色2绿色10亮绿色3青色11亮青色4红色12亮红色5洋红色13亮洋红色6黄色14亮黄色7白色15亮白色,图12.2,用Visual Basic提供的形状控件(Shape)可以方便地画出矩形、正方形、圆、椭圆等简单的几何图形。使用形状控件的方法是,单击工具箱中的“形状控件”图标,然后按下鼠标左键并在窗体上拖动,在适当的位置释放鼠标,窗体上出现一个矩形框,就是形状控件。为该控件设置不同的Shape属性,可以得到不同的形状。,12.2 用形状控件画出几何图形,在属性窗口选择Shape属性,并单击该属性右端向下的箭头,显示一个下拉列表,其含义如下:0Rectangle,矩形。1Square,正方形。2Oval,椭圆形。3Circle,圆形。4Rounded Rectangle,圆角矩形。5Rounded Square,圆角正方形。Shape属性的默认值为0(矩形)。若选择3,则在刚才用形状控件画出的矩形中画出一个圆,圆的直径是矩形的短边,也就是说,圆内切于矩形。,【例2】设计如图所示的窗体。窗体上有6个Shape控件、6个标签以及“设置形状”、“设置颜色”、“填充线条”、“退出”等4个命令按钮。运行时,如单击“设置形状”命令按钮,将为形状控件设置Shape属性;单击“设置颜色”按钮,用不同的颜色填充各形状控件;单击“填充线条”按钮,以不同的线条填充图形。为便于程序处理,形状控件和标签控件均使用控件数组。,图12.3,(1)单击“设置形状”按钮,执行cmdShape_Click事件过程。通过For循环设置Shape属性的值。Private Sub cmdShape_Click()为各Shape控件设置形状参数 For i=0 To 5Shape1(i).Shape=iLabel1(i).Caption=i=&Str(i)NextEnd Sub如图4所示表示执行cmdShape_Click()事件过程后的结果。,图12.4,(2)单击“设置颜色”按钮,执行cmdColor_Click事件过程。Private Sub cmdColor_Click()用不同的颜色填充 For i=0 To 5 Shape1(i).FillStyle=1 设置FillStyle为透明 Shape1(i).BackStyle=1 设置BackStyle为不透明 Shape1(i).BackColor=QBColor(i)设置颜色 Label1(i).Caption=i=&Str(i)NextEnd Sub,(3)单击“填充线条”按钮,执行cmdFill_Click()事件过程。Private Sub cmdFill_Click()用不同的线形填充图形 For i=0 To 5 Shape1(i).FillStyle=i+2 Label1(i).Caption=i=&Str(i+2)NextEnd Sub上述事件过程的执行效果如图5所示。,图12.5,形状控件还有下列其他属性。BorderColor属性:用来指定图形边界颜色。BorderWidth属性:用来指定图形边界宽度。BorderStyle属性:用来指定边界线的类型(其值为06,其含义与直线控件中介绍的相同)。,在Visual Basic中,既可以使用图形控件(如用Line控件、Shape控件)画图,也可以使用系统提供的图形方法(如使用Line方法、Circle方法等)画图。但是由于使用图形控件所需要的系统资源比较少,因此有利于提高Visual Basic应用程序的性能。另外,使用图形控件创建图形所用的代码比图形方法用的代码要少。使用图形控件需要注意以下问题:(1)图形控件不能在运行时获得焦点;(2)不能作为其他控件的容器;(3)不能出现在其他控件之上,除非是容器控件,如图片框。,用Pset方法能够在屏幕上画出一个点。例如:Pset(100,150)上述语句的作用是在窗体上(100,150)处画出一个点。Pset方法的一般格式为:对象名.Pset(x,y),颜色,12.3 用Pset方法画点,如不作声明,则画出的点的颜色就是对象的前景色(ForeColor属性值)。如果需要指定其他颜色,也可以在Pset方法中指定。颜色可以用RGB函数指定。例如:Pset(500,1000),RGB(255,0,255)RGB是一个颜色函数,“R”代表Red(红),“G”代表Green(绿),“B”代表Blue(蓝)。RGB函数有三个参数,分别代表红、绿、蓝的比例,每个参数的值为0255。RGB(255,0,255)含义是无绿色的成分,红和蓝成分相等,效果为紫红色。这3个参数不同值的组合可以产生多种颜色。表12.2(见书248页)列出了一些颜色的组合。,颜色也可以用QBColor函数来表示。学过BASIC或QBASIC语言的读者已经知道,可以用颜色号015代表16种颜色。Visual Basic中用QBColor(i)代表一种颜色,见表12.3(见书248页)。【例3】在窗体中随机地显示若干彩色的点。窗体上有两个命令按钮:“画点”和“退出”按钮。单击“画点”按钮,执行如下事件过程。单击“退出”按钮,结束程序的运行。画点的过程如下:,Private Sub cmdPoint_Click()For i=1 To 3000r=Int(256*Rnd)g=Int(256*Rnd)b=Int(256*Rnd)x=Rnd*Widthy=Rnd*HeightPSet(x,y),RGB(r,g,b)NextEnd Sub,【例4】要求在单击“开始”按钮后,在窗体上画出一个圆,再将此圆抹去,接着画出一个半径稍大的同心圆如此一共画出16个圆。程序代码如下:Private Sub cmdStart_Click(),c=1r=100DoFor i=0 To 2*3.141596 Step 0.01 y=Sin(i)*r sin(a)*半径=y坐标 x=Cos(i)*r PSet(x+1600,y+1600),QBColor(c)For j=1 To 2000 Next jNext iFor i=0 To 2*3.141596 Step 0.01 y=Sin(i)*r x=Cos(i)*r PSet(x+1600,y+1600),QBColor(15)For j=1 To 2000 Next jNext Ic=c+1r=r+100Loop Until c=16,为了在两点之间绘制一条直线,除了使用直线控件外,Visual Basic还提供了Line方法。Line方法的一般格式为对象.LineStep(x1,y1)-Step(x2,y2),颜色,用Line方法画线和矩形 1 用Line方法绘制直线,【例5】在窗体上画一个名称为cmdPaint的命令按钮。当单击这个命令按钮时,执行程序,用Line方法画一个如图所示的图形。这些直线具有相同的终点坐标,起点坐标在水平方向是相同的。根据这个特点,可以使用循环画出图形。程序如下:,图6,Private Sub cmdPaint_Click()Dim i As Integer DrawWidth=2 ForeColor=QBColor(4)For i=0 To 6000 Step 500 Line(i,800)-(2800,2900)Next iEnd Sub,使用Line方法能够绘制矩形。具体方法很简单,只要在Line方法中加一个参数B即可,B的含义是Box(盒状)。例如:Line(800,800)-(3000,2000),B此语句执行的结果如图7所示,12.4.2 用Line方法绘制矩形,图12.7,画矩形的一般格式为:对象.LineStep(x1,y1)-Step(x2,y2),颜色,BF(x1,y1)与(x2,y2)是所画矩形的左上角和右下角的坐标,参数B表示要画一个矩形,参数F是指画一个实心的矩形。除了可以用“颜色”对图形进行填充外,还可以用以前介绍过的FillStyle属性填充图案。【例6】为矩形填充不同的图案。设计用户界面如,图12.8,在窗体上添加图片框,其大小只比窗体略小一点。运行时,单击图片框,将执行下面的事件过程:Private Sub Picture1_Click()Picture1.BackColor=QBColor(0)For i=0 To 7 Picture1.FillStyle=i Picture1.FillColor=QBColor(i+2)i 1=i+1 Picture1.Line(300*i1,400*i1)-(110*i1,220*i1),QBColor(12),B Next iEnd Sub程序运行的结果如图12.9所示。,图12.9,画圆的一般格式为:对象.Circle Step(x,y),半径,颜色 对象指窗体、图片框等,Step后面的一对数字表示相对于当前坐标的位移量。,用Circle方法画圆、椭圆、圆弧及扇形 1 用Circle方法绘制图,【例7】在窗体上画圆,并由用户来选择圆的颜色及填充的式样。下面编写事件过程中,当单击命令按钮“画圆”时,执行以下事件过程:,图12.10,Private Sub cmdCircle_Click()FillStyle=Val(sty.Text)col=Val(col.Text)x=Width y=Height For i=1 To 10 r=(x*0.1)*Rnd Circle(Rnd*x,Rnd*y),r,QBColor(col)Next iEnd Sub,单击“清除”按钮时应执行的过程如下:Private Sub cmdCls_Click()Cls sty.Text=col.Text=End Sub单击“结束”按钮时应执行的过程如下:Private Sub cmdEnd_Click()EndEnd Sub,在cmdCls_Click()过程中使用了cls方法来清除窗体,此方法的一般格式为:对象.cls对象指窗体、图片框等,默认为窗体。程序运行结果如图12.11所示,它是连续单击几次“画圆”命令按钮(而未单击“清除”按钮)的执行结果。,图12.11,用Circle方法绘制椭圆的一般格式为:对象.Circle Step(x,y),颜色,纵横比【例12.8】在窗体上画一个图片框(如图12.12所示)。编写一个程序,单击图片框后在其上画出若干个形状和颜色各异的椭圆。过程代码如下:,12.5.2 用Circle方法绘制椭圆,图12.12,Private Sub Picture1_Click()x=Picture1.Width y=Picture1.Height Picture1.FillStyle=0 Picture1.FillColor=QBColor(12)For i=1 To 10 r=(x*0.1)*Rnd b=i*0.3 Picture1.Circle(x*Rnd,y*Rnd),r,QBColor(i),b Next iEnd Sub运行结果如图12.13所示。,图12.13,圆周的一部分就是圆弧,如果从圆心连接两条直线到圆弧的两端,就是一个扇形。用画圆的方法Circle来画圆弧及扇形非常容易,只要加上起始角和终止角即可。例如:Circle(2500,2000),1000,3.14159/2,0Circle Step(200,300),800,-1,-4Circle(800,900),500,QBColor(12),0.5,-2.9坐标分布如图12.14所示。,12.5.3 用Circle方法绘制圆弧及扇形,图12.14,画圆弧的一般格式为:对象.Circle Step(x,y),半径,颜色,起始角,终止角 当纵横比为1时,画出来的是一段圆弧,当纵横比不等于1时,画出一段椭圆弧。下面举例说明圆弧及扇形的画法。【例12.9】单击窗体,在窗体上显示若干圆弧。事件过程如下:,Private Sub Form_Click()pi=3.1415926 angle1=0 c=1 DrawWidth=1 For r=800 To 1800 Step 200 angle2=(angle2+(pi/2)Mod(2*pi)Circle(2500,1800),r,QBColor(c),angle1,angle2 angle1=angle1+(pi/4)c=c+1 DrawWidth=DrawWidth+1 Next rEnd Sub,程序开始运行后,单击窗体,显示出6个颜色不同、位置不同、宽度不同的圆弧。运行结果如图12.15所示。如果将程序中的“Circle(2500,1800),r,QBColor(c),angle1,angle2”改成“Circle(2500,1800),r,QBColor(c),angle1,angle2,2”,就可让纵横比不等于1,所画的弧都变为椭圆弧,结果如图12.16所示。,图12.15,图12.16,使用Visual Basic提供的PaintPicture方法,可从一个窗体或图形框控件中向另一个对象复制一个矩形区域的像素。【例12.10】编写一个程序,将图片框中的一个图形复制到窗体上。首先建立一个如图12.17所示的窗体。窗体上有一个名称为picSource的图片框,该图片框的Picture属性设置了一个小图片。,12.6 使用PaintPicture方法,图12.17,当单击窗体时,将图片框picSource中的图片复制、放大到窗体上。程序如下:Private Sub Form_Click()Form1.PaintPicture picSource.Picture,0,0,ScaleWidth,ScaleHeightEnd SubPaintPicture方法的语法格式如下:.PaintPictureHJ,dx,dy,dh,sx,sy,sw,sh其作用是将“源对象”上的图片放到“目标对象”上。ScaleWidth,ScaleHeight 拉伸,该方法的各参数的含义如下。dx,dy:目标区域左上角的坐标,可以是目标控件的任意位置。dw,dh:目标区域的宽和高。sx,sy:要传送图形的矩形区域的左上角坐标。sw,sh:要传送图形的矩形区域的宽和高。程序运行效果如图12.18所示。,图12.18,1.AutoRedraw属性每个窗体和图片框都有AutoRedraw属性。AutoRedraw属性的功能是自动重新绘制窗体或图片框。下面通过一个例题观察AutoRedraw属性的作用。,12.7 窗体和控件的图形属性,【例11】建立一个工程文件,包括两个窗体Form1和Form2。当单击Form1时,在窗体上画一个实心圆,同时显示Form2。按照题目的要求,在Form1的Form_Load事件过程中添加如下程序代码:Private Sub Form_Click()FillStyle=0 Circle(800,800),500 Form2.ShowEnd Sub运行程序如图所示,同时显示Form2。,将Form2移动到与Form1重叠的位置,然后再将Form2移开。此时,Form1上被遮盖部分的图形没有恢复显示,AutoRedraw属性设置为ture则可以重绘图19,图20,2.CurrentX、CurrentY属性CurrentX和CurrentY属性能够设置或返回一组坐标,这组坐标是当前要显示或打印操作的坐标。下图的窗体中显示了10个半径相等、圆心不同的圆。绘制这幅图形的程序如下:Private Sub Form_Click()CurrentX=800 CurrentY=800 For i=1 To 10 Circle(CurrentX+100,CurrentY+100),500 没有修改CurrentX,Y的值,但是圆心坐标在变化。NextEnd Sub,3.BorderWidth、BorderStyleBorderWidth及BorderStyle属性,指明了使用图形对象绘图的边框线宽和边框风格。4.FillColor、FillStyle属性FillColor及FillStyle属性确定了窗体、图片框中填充图形的外观风格和填充颜色。5.BackColor、ForeColor、BorderColor、FillColor属性Visual Basic中,许多控件都有与颜色有关的属性,主要有BackColor、ForeColor、BorderColor和FillColor。,BackColor属性用于设置窗体或控件的背景颜色。ForeColor属性用于设置窗体或控件的前景颜色。BorderColor 属性用于设置Shape 控件边框的颜色。FillColor属性能够用指定的颜色填充Circles 方法或Line方法绘制的封闭区域。,在窗体上画一幅明月高挂、群星闪烁的画面。要求:在程序开始运行时,将一个月亮的图形装入到图像框中。窗体上有一个计时器,其Interval属性值为500,因此计时器每隔0.5秒发生一次Timer事件。Timer事件过程中,在随机产生的500个(x,y)坐标处以白色“点亮”该点。因此出现500个亮点,然后以Cls方法清除屏幕。在下一次Timer事件发生时,又出现另外500个点,然后又清屏。如此反复就出现“群星闪烁”的效果。运行结果如图下所示。,习题,图12.21,

    注意事项

    本文(vb程序编写语言学习.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开