VB6.0基础教程之第14章图形设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

图形设计是大多数应用程序设计中非常重要的一个环节。图形表达的意思更完整、更准确,可以为应用程序的界面增加情趣和艺术效果。VB6为程序设计者提供了非常丰富的绘图功能。设计程序时,不仅可以使用VB提供的图形控件画图,还可以调用图形方法绘制丰富多彩的艺术图形。第11章图形设计•图形设计基础知识•图形控件•绘图方法•与绘图有关的常用属性、事件和方法内容:1.坐标系统VB的坐标系用于在二维空间定义容器对象(如窗体和图片框)中点的位置。像数学中的坐标系一样,VB的坐标系也包含坐标原点、x和y坐标轴。11.1图形设计基础xy(0,0)刻度单位VisualBasic中坐标轴的缺省刻度单位是缇(Twip),用户可以根据实际需要使用ScaleMode属性改变刻度单位。ScaleMode属性取值:0-User用户自定义,ScaleHeight、ScaleWidth、ScaleTop、ScalcLen属性1-Twip缇(缺省值),1440缇等于一英寸2-Point点,72点等于一英寸3-Pixel像素,表示分辨率的最小单位4-Character字符5-Inch英寸6-Millimeter毫米7-Centimeter厘米例:Forml.ScaleMode=3‘设置窗体坐标系的刻度单位为像素改变坐标系VB提供了一系列属性和方法,用户可改变坐标系的原点和坐标轴的方向。•ScaleLeft和ScaleTop属性:重定义对象的左上角坐标,改变坐标系的原点位置。•ScaleWidth和ScaleHeight属性:改变容器对象高度和宽度的刻度单位。这一刻度单位是由ScaleWidth和ScaleHeight属性的值和容器对象内部显示区域的当前尺寸决定的。•Scale方法:重新设置各种容器对象的坐标系统。使用格式:[对象名.]Scale[(x1,y1)-(x2,y2)]Scale方法用于将容器对象的左上角坐标定义为(x1,y1),右下角坐标定义为(x2,y2)。不带任何参数调用Scale方法,可以将坐标系还原成系统缺省的坐标系。x1、y1的值决定了ScaleLeft和ScaleTop属性的值;而(x1,y1)与(x2,y2)两点x坐标的差值和y坐标的差值,分别决定了ScaleWidth和ScaleHeight属性的值。例如,Picturel.Scale(5,10)-(300,300)用于将图片框的左上角的坐标定义为(5,10),右下角的坐标定义为(300,300)。当前坐标当在容器中绘制图形或输出结果时,经常要将它们定位在某一希望的位置,这就必须获得某一点的坐标,即当前坐标。VB使用CurrentX和CurrentY属性设置或返回当前坐标的水平坐标和垂直坐标。例如,在点(200,200)处显示“当前坐标为(200,200)”,可以使用以下语句:Form1.CurrentX=200Form1.CurrentY=200Form1.Print”当前坐标为(200,200)”与位置和大小有关的属性对象的属性Left、Top、Width、Height决定其在容器对象中的位置和大小。•对于Form、Printer和Screen对象,这些属性值总是以缇为单位,它们表示对象的外边界的位置或大小,如窗体的Width属性和Height属性代表窗体外部高度和宽度,包括边框和标题栏。•对对象内部可视区域的操作或计算,要使用ScaleLeft、ScaleTop、ScaleHeight和ScaleWidth属性。2.颜色VB的对象常带有颜色属性。用户可以在设计阶段和运行阶段对颜色属性进行设置。VB的颜色属性值是一个四字节的长整型(Long)数,其中最低的三个字节分别对应于构成颜色的三原色:红、绿、蓝。以十进制表示,它们的取值范围从0到255。通过合理地调配三原色所占的比例,可以得到丰富多彩的颜色。VB为用户提供了多种获取和设置颜色值的方法。在设计阶段设置颜色对象的属性窗口列出了该对象的所有属性。其中与颜色有关的属性(如BackColor、ForeColor)的名称中都带有Color。要为对象的属性设置颜色值,只需在属性窗口设置。在运行阶段设置颜色(1)使用RGB函数使用RGB函数获取一个长整型(Long)的RGB颜色值。格式为:RGB(red,green,blue)例如,Forml.BackColor=RGB(255,0,0)用于将窗体的背景色设置为红色。(2)使用QBColor函数使用QBColor函数从16种颜色中选择一种颜色,返回选中颜色的RGB颜色值。格式为:QBColor(value)value是介于0到15的整数,value值及其代表的颜色。(3)使用颜色常量,VB将经常使用的颜色值定义为内部常量。内部常量可以被直接引用,而无须重新定义。例如,Forml.BackColor=vbRed用于将窗体的背景色设置为红色.(4)SHIY使用颜色的十六进制表示值VB内部使用16进制数代表指定的颜色。用户可以根据16进制数颜色属性赋值。BB、GG和RR分别介于00到FF之间,BB代表蓝色分量,GG代表绿色分量,RR代表红色分量。例如,Forml.BackColor=&H0000FF&用于将窗体的背景色设置为红色&H00BBGGRR&(5)使用系统颜色VB允许在应用程序中直接引用系统颜色设置窗体和控件的颜色属性。这样的好处是:如果用户在控制面板中改变了系统颜色,应用程序中被引用的相应颜色也会随着变化,保持了与系统的一致性。在VB中系统颜色有两种表示方法,一种是用内部常量;另一种是用十六进制表示的四字节长整型数。用十六进制表示的系统颜色值的第一个字节为80,其余字节指定的是一种系统颜色。图形控件用于在对象(窗体、图片框)中绘制特定形状的图形,如圆、直线等。图形控件的属性,既可以在设计阶段设置,也可以在运行阶段由程序动态地改变。11.2.1Shape控件Shape控件用于在窗体或图片框中绘制常见的几何图形。通过设置Shape控件的Shape属性可以画出多种图形。0(缺省值)vbShapeRectangle矩形1vbShapeSquare正方形2vbShapeOval椭圆形3vbShapeCircle圆形4vbShapeRoundedRectangle圆角矩形5vbShapeRoundedSquare圆角正方形11.2图形控件11.2.2Line控件Line控件为用户提供了在容器对象中画直线的方法。简单地改变Line控件的BorderStyle属性即可画出多种线型的直线。0vbTransparent透明,忽略BorderWidth属性1vbBSSolid(缺省值)实线,边框处于形状边缘的中心2vbBSDash虚线,当BorderWidth为1时有效3vbBSDot点线,当BorderWidth为1时有效4vbBSDashDot点划线,当BorderWidth为1时有效5vbBSDashDotDot双点划线,当BorderWidth为1时有效6vbBSInsideSolid内收实线,边框的外边界就是形状的外边缘另外,可以用BorderColor属性设置直线的颜色。但当BorderStyle属性为“0”(透明)时,将忽略BorderColor属性的设置值。使用Line控件的X1、Y1、X2、Y2属性可以设置直线的起点和终点。11.3.1画点方法(Pset)用于在对象的指定位置,用以特定的颜色画点.格式:[对象名.]PSet[Step](x,y)[,颜色]其中,对象名:要绘制点的容器对象名称,如窗体、图片框等,缺省为当前窗体。(x,y):欲绘制点的坐标,可以是任何数值表达式。颜色:绘制点的颜色值。如果没有包括颜色参数,PSet方法用容器对象的前景颜色画点。Step:可选项,带此参数时,(x,y)是相对于当前坐标点的坐标。当前坐标可以是最后的画图位置,也可以由CurrentX和CurrentY设定。执行PSet方法后,(x,y)成为当前坐标。PSet方法绘制的点的大小受其容器对象的DrawWidth属性的影响。11.3绘图方法11.3.2画直线、矩形方法(Line)Line方法用于画直线和矩形。使用格式如下:[对象名.Line[Step][(xl,y1)]-[Step]{x2,y2)[,[颜色][,B[F]]对象名:要绘制直线或矩形的容器对象名称,如窗体、图片框等,缺省为当前窗体。(x1,y1):可选项,起点坐标。如果省略,图形起始于由CurrentX和CurrentY指示的位置。(x2,y2):终点坐标。Step:可选项,当在(x1,y1)前出现Step时,表示(x1,y1)是相对于由CurrentX和CurrentY指示的位置;当在(x2,y2)前出现时,表示(x2,y2)为相对于图形起点的终点坐标。颜色:直线或矩形的颜色,如果省略,则使用ForeColor属性的值作为直线或矩形的颜色。B:可选项,如果选择了B,则以(x1,y1)、(x2,y2)为对角坐标画出矩形。F:可选项,如果使用了B参数后再选择F参数,则规定矩形以矩形边框的颜色填充。如果不使用F参数只使用B参数,则矩形用当前容器对象的FillColor和FillStyle填充。FillStyle的缺省值为1-Transparent(透明)。不能只选择F参数而不选择B参数。画连续直线时,前一条直线的终点就是后一条直线的起点。线的宽度取决于DrawWidth属性值。执行Line方法后,当前坐标(CurrentX和CurrentY属性)被设置在终点坐标(x2,y2)处。11.3.3画圆方法(Circle)Circle方法用于在对象上画圆形、椭圆形、圆弧和扇形。使用格式如下:[对象名.Circle[step](x,y),半径,[颜色],[起始角],[终止角][,纵横比]对象名:可选项,要绘制图形的容器对象名称,如窗体、图片框等,缺省为当前窗体。Step:可选项,带此参数时,点(x,y)是相对于当前位置(由CurrentX和CurrentY属性决定)的坐标点,否则为绝对坐标。(x,y):圆、椭圆、弧或扇形的圆心坐标。半径:圆、椭圆、弧或扇形的半径。若为椭圆,则为最长轴的尺寸。颜色:可选项,圆、椭圆、弧或扇形的边框颜色值。如果省略,则图形边框使用容器对象的ForeColor属性值。起始角:可选项,指定弧的起点位置(以弧度为单位)。取值范围从-2π—2π;终止角:可选项,指定弧的终点位置(以弧度为单位)。取值范围从-2π—2π,缺省为2π。弧的画法是从起点逆时针画到终点。纵横比:可选项,圆的纵轴和横轴的尺寸比。缺省值为1,表示画一个标准圆。当纵横比大于1时,椭圆的纵轴比横轴长;当纵横比小于1时,椭圆的纵轴比横轴短。除圆心坐标和半径外,其他参数均可省略,但若省略的是中间参数,则逗号必须保留。执行Circle方法后,当前位置(CurrentX和CurrentY属性)的值被设置成圆心的坐标值。VB中有许多与绘图有关的属性、事件和方法,设置属性可以改变图形的颜色、线形和填充样式;合理使用这些事件和方法,可以得到事半功倍的效果。11.4与绘图有关的常用属性、事件和方法11.4.1清除图形方法(Cls)Cls方法用于清除对象中生成的图形和文本,将光标复位,即移到原点。使用格式为:[对象名.]Cls例如,Forml.Cls可清除窗体中的图形和文本。11.4.2线宽(DrawWidth)属性和线型(DrawStyle)属性1.DrawWidth属性用于设置图形方法输出的线宽。线宽的取值范围从1到32767,以像素为单位。缺省值为1,即一个像素宽。如果DrawWidth属性值大于1,画出的图形是实线;如果DrawWidth属性值等于1,可以画各种线型。2.DrawStyle属性用于设置图形方法输出的线型,其取值与相应的线型。0vbSolid(缺省)实线1vbDash虚线2vbDot点线3vbDashDot点划线4vbDashDotDot双点划线5vbInvisible无线6v

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功