第六章 图形控件和图形方法_第1页
第六章 图形控件和图形方法_第2页
第六章 图形控件和图形方法_第3页
第六章 图形控件和图形方法_第4页
第六章 图形控件和图形方法_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 一个软件能否吸引用户,很重要的一点是对图形一个软件能否吸引用户,很重要的一点是对图形技术的运用是否得当。技术的运用是否得当。漂亮的界面,生动的图形图像,漂亮的界面,生动的图形图像,往往能够激发起用户使用软件的欲望往往能够激发起用户使用软件的欲望。图形控件图形控件VB坐标系坐标系图形方法图形方法本章细分为以下内容:本章细分为以下内容:31、 PictureBox控件控件(图片框控件图片框控件)主要作用:显示图片、绘图和显示文本、作为其主要作用:显示图片、绘图和显示文本、作为其他控件的容器。他控件的容器。主要属性:主要属性: Picture(配合(配合LoadPicture 函数)函数)装入图

2、片:装入图片: 对象名对象名. Picture = LoadPicture(“图片图片文件文件”)删除图片:删除图片: 对象名对象名. Picture = LoadPicture( “”)6.1 图形控件图形控件66.1 图形控件图形控件2、Image控件控件(影像框控件影像框控件)主要作用:显示图片。主要作用:显示图片。影像框比图片框占用的内存少,所以速度影像框比图片框占用的内存少,所以速度较快。较快。 影像框内不能使用影像框内不能使用Print、Pset、Line、Circle等方法进行绘图和输出文本,影像等方法进行绘图和输出文本,影像框也不能作为其他控件的容器。框也不能作为其他控件的容器

3、。2、Image控件控件(影像框控件影像框控件)86.1 图形控件图形控件116.1 图形控件图形控件LineLine控件的重要属性:控件的重要属性:X1X1、Y1Y1、X2X2、Y2Y2,分别表示直线两个端,分别表示直线两个端点的坐标。点的坐标。LineLine控件不响应任何事件,它只支持表面显示。控件不响应任何事件,它只支持表面显示。126.2 Visual Basic坐标系坐标系13默认坐标系统(原点默认坐标系统(原点左上角、单位左上角、单位缇)缇)HeightYX0,0容器容器WidthHeight对象1对象2WidthLeftTopLeftTop14定制坐标系统定制坐标系统 使用使用

4、默认的坐标系统默认的坐标系统,坐标原点只能在,坐标原点只能在容器的左上角容器的左上角。通过通过定制坐标系统定制坐标系统,可以任意地设定,可以任意地设定坐标系统的原点位置坐标系统的原点位置以及以及坐标的刻度坐标的刻度。用到的容器属性:用到的容器属性:ScaleLeft、ScaleTop、ScaleWidth、ScaleHeightYX缺省坐标系ScaleLeft=0ScaleTop=00YX坐标平移Scaleleft= -30ScaleTop= -500(-30,-50)15定制坐标系统定制坐标系统容器内部左上角的坐标通过容器内部左上角的坐标通过ScaleLeft、ScaleTop来确定,来确定

5、,右下角的坐标还要用到另外两个属性:右下角的坐标还要用到另外两个属性:ScaleWidth、ScaleHeight。右下角的坐标值为:右下角的坐标值为: (ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)同时确定了坐标系的方向和单位同时确定了坐标系的方向和单位YX0(50,-60)ScaleLeft=0ScaleTop=0ScaleWidth=50ScaleHeight=-60YX两个对角点确两个对角点确定一个坐标系定一个坐标系ScaleLeft= -30ScaleTop= -50ScaleWidth=100ScaleHeight=1100(-30,-50)

6、(70,60)16定制坐标系统定制坐标系统ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight,这四个属性并,这四个属性并不会改变容器本身的大小尺寸,它们所起的作用只是对容器内不会改变容器本身的大小尺寸,它们所起的作用只是对容器内部部区域的区域的“重新规划重新规划”。YX0(50,-60)ScaleLeft=0ScaleTop=0ScaleWidth=50ScaleHeight=-60YX两个对角点确两个对角点确定一个坐标系定一个坐标系ScaleLeft= -30ScaleTop= -50ScaleWidth=100ScaleHeight=1100(-30,-50

7、)(70,60)17例例、通过通过ScaleTop,ScaleLeft,ScaleWidth和和ScaleHeight 属性属性,自定义图片框自定义图片框Pic1的坐标系。的坐标系。Pic1. ScaleLeft = -200Pic1. ScaleTop = 250Pic1. ScaleWidth = 500Pic1. ScaleHeight = -400YX0300-200-150250窗体窗体Form118 定制容器内部的坐标系,除了利用以上所提的定制容器内部的坐标系,除了利用以上所提的ScaleLeftScaleLeft、ScaleTopScaleTop、ScaleWidthScaleW

8、idth、ScaleHeightScaleHeight这四个属这四个属性之外,我们还可以利用性之外,我们还可以利用ScaleScale方法方法进行定制。进行定制。定制坐标系统定制坐标系统19语法:语法:容器容器.Scale (xLeft,yTop) (xRight,yBottom)容器左上角的坐标值容器左上角的坐标值容器右下角的坐标值容器右下角的坐标值定制坐标系统定制坐标系统20YX0300-200-150250 例如,建立和例如,建立和上面上面一样的坐标系。一样的坐标系。 Pic1.Scale (-200,250) (300, -150)定制坐标系统定制坐标系统Pic1. ScaleLeft

9、 = -200Pic1. ScaleTop = 250Pic1. ScaleWidth = 500Pic1. ScaleHeight = -40021刻度可以通过容器的刻度可以通过容器的ScaleMode属性设置。属性设置。0用户定义。用户定义。1缇。这是缺省刻度。缇。这是缺省刻度。1英寸英寸=1140缇缇2磅。磅。72磅磅= 1英寸英寸3象素。监视器或打印机分辨率的最小单位。象素。监视器或打印机分辨率的最小单位。4字符。打印时,一个字符有字符。打印时,一个字符有1/6英寸高英寸高1/12英寸宽英寸宽5英寸英寸6毫米毫米7厘米厘米坐标刻度坐标刻度ScaleMode属性属性Private Sub

10、 Command1_Click() Form1.ScaleMode = 6 Print Command1.WidthEnd Sub应用应用Scale方法或者改变了方法或者改变了ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth属性值后,属性值后,ScaleMode的值自动变为的值自动变为023例:例:点击按钮,使点击按钮,使Shape1对象移动。对象移动。Private Sub Command1_Click() If Shape1.Left = Form1.Width Then Shape1.Left = -Shape1.Width Shape1.Left =

11、Shape1.Left + 1000 Else Shape1.Left = Shape1.Left + 1000 End IfEnd Sub241、执行下面程序段之后,窗体左上角坐标为(),、执行下面程序段之后,窗体左上角坐标为(), 右下角坐标为()?右下角坐标为()? Form1.ScaleTop = 1:Form1.ScaleLeft = 1 Form1.ScaleHeight = -2:Form1.ScaleWidth = 2答案:答案:(1,1) (3,1) 真题练习真题练习252、与语句、与语句Scale(2,2)(2,2)等价的程序段是()?等价的程序段是()?A、ScaleLe

12、ft = 2 :ScaleTop = 2 ScaleWidth = 2 :ScaleHeight = 2B、 ScaleLeft = 2 :ScaleTop = 2 ScaleWidth = 4 :ScaleHeight = 4C、 ScaleLeft = 4 :ScaleTop = 4 ScaleWidth = 2 :ScaleHeight = 2D、 ScaleLeft = 4 :ScaleTop = 2 ScaleWidth = 4 :ScaleHeight = 2答案:答案:B真题练习真题练习26判断题:移动框架时框架内控件也跟随移动,所以框架内判断题:移动框架时框架内控件也跟随移动,

13、所以框架内各控件的各控件的Left、Top属性值也将随之改变。属性值也将随之改变。答案:错答案:错真题练习真题练习判断题:用判断题:用Scale方法改变了窗体坐标系后,窗体的方法改变了窗体坐标系后,窗体的Left、Top属性值不变。属性值不变。答案:对答案:对276.3 图形方法(图形方法(pset,line,circle)以及函数)以及函数point可以使用可以使用5种方式设置颜色:种方式设置颜色:(1)(1)直接在属性栏里进行设置。直接在属性栏里进行设置。(2)(2)使用使用RGBRGB函数。函数。(3)(3)使用使用QBColorQBColor函数,选择函数,选择1616种种Qbasic

14、Qbasic颜色中的一种。颜色中的一种。(4)(4)使用系统提供的颜色常数。使用系统提供的颜色常数。(5)(5)直接使用直接使用Long类类型颜色值。型颜色值。 28(2)使用)使用RGB函数函数 RGB(red, green, blue)RGB(red, green, blue)说明:说明: red, green, bluered, green, blue3 3种颜色,从种颜色,从0 0255255之间的一个亮之间的一个亮度值度值(0(0表示亮度最低,而表示亮度最低,而255255表示亮度最高表示亮度最高) )。例:例:Form1.BackColor = RGB(126,76,200) Fo

15、rm1.BackColor = RGB(126,76,200) 设定背景紫色设定背景紫色(3)使用)使用QBColor函数函数其使用格式如下:其使用格式如下: QBColor(color)QBColor(color) 说明:说明: color参数是一个界于参数是一个界于015的整型数,分别代表的整型数,分别代表16种颜色,如表种颜色,如表6-2所示。所示。29(4)使用系统定义的颜色常数)使用系统定义的颜色常数 在在VBVB系统中已经预先定义了常用颜色的颜色常数,如常数系统中已经预先定义了常用颜色的颜色常数,如常数vbRedvbRed就代表红色,就代表红色,vbGreenvbGreen代表绿色

16、等等。代表绿色等等。例如,例如,要将窗体的背景色设为红色。则可使用如下语句:要将窗体的背景色设为红色。则可使用如下语句:Form1.BackColor = vbRedForm1.BackColor = vbRed(5)直接使用颜色设置值)直接使用颜色设置值 用十六进制数指定颜色的格式为:用十六进制数指定颜色的格式为: &HBBGGRR&HBBGGRR其中,其中,BBBB指定蓝颜色的值,指定蓝颜色的值,GGGG指定绿颜色的值,指定绿颜色的值,RRRR指定红色的指定红色的值。每个数段都是两位十六进制数,即从值。每个数段都是两位十六进制数,即从0000FFFF。例如,例如, Form

17、1.BackColor = &HFF0000Form1.BackColor = &HFF0000它相当于:它相当于:Form1.BackColor = RGB(0, 0, 255)Form1.BackColor = RGB(0, 0, 255)30 1设置线宽设置线宽DrawWidth 属性属性 窗体、图形框或打印机的窗体、图形框或打印机的DrawWidth属性给出这些对象上属性给出这些对象上所所画线画线的的宽度宽度或或点点的的大小大小。例如:。例如:Form1.DrawWidth = 2Form1.DrawWidth = 2 (宽度为(宽度为2 2个象素)个象素)缺省值为缺省

18、值为 1 1,即一个像素宽。,即一个像素宽。6.3.2 线宽、线型与填充模式线宽、线型与填充模式312. 设置线型设置线型DrawStyle 属性属性设 置 值线 型图 示0实 线 (缺 省 )1长 划 线2点 线3点 划 线4点 点 划 线5透 明 线6内 实 线326.3.3 图形方法与应用图形方法与应用 其语法格式如下: 容器容器.Pset (X.Pset (X,Y) Y) ,colorcolor 例:例:单击窗体画出带颜色的随机点。单击窗体画出带颜色的随机点。Form1.PSet (Rnd * Form1.Width, Rnd * Form1.Height), QBColor(Int(

19、Rnd * 16)缺省为ForeColor34 格式:格式:PointPoint(x x,y y) 该函数的返回值为点(该函数的返回值为点(x x,y y)的颜色值)的颜色值 C CPointPoint(5050,100100)35 容器名容器名. Line (x1,y1)(x2,y2),Color,BF 其中:对象可以其中:对象可以是窗体或图片框。是窗体或图片框。 (x1,y1) ,(x2,y2)为线段的起点、终点坐标。省略起点,缺为线段的起点、终点坐标。省略起点,缺省为省为当前输出位置当前输出位置,缺省,缺省Color为容器的为容器的ForeColor属性。属性。B表示画矩形,表示画矩形,

20、F表示用画矩形的边框颜色来填充矩表示用画矩形的边框颜色来填充矩形,若无形,若无F,则由对象的,则由对象的FillColor和和FillStyle来决定来决定填充色。填充色。Private Sub Form_Click() DrawWidth = 5 决定线的宽度决定线的宽度 FillStyle = 0 FillColor = vbYellow Line (1000, 1000)-(3000, 3000), QBColor(12), BEnd Sub 各参数可根据实际要求进行取舍,但如果舍去各参数可根据实际要求进行取舍,但如果舍去的是中间参数,参数的位置分隔符不能舍去。的是中间参数,参数的位置分

21、隔符不能舍去。37(2)相对坐标的概念)相对坐标的概念 如果坐标值前加上关键字如果坐标值前加上关键字Step,就表示使用的是,就表示使用的是相对坐相对坐标标,例如,例如 Step (x,y)。表示从。表示从当前坐标当前坐标分别再加上分别再加上x、y的值。的值。38对象对象. Line (x1,y1)Step (x2,y2),颜色颜色,BF对象对象. PSet Step (x,y) ,颜色颜色例如:例如:Line (200,100)(250,150) 等价于等价于 Line (200,100)Step (50,50)39例:例:画一个左上角在画一个左上角在(20,40),右下角在,右下角在(15

22、0,200)的矩形,注意在的矩形,注意在color 参数省参数省略时,逗号并不省略。略时,逗号并不省略。出发点是出发点是(150,250),终点是向,终点是向X轴正向走轴正向走150,向,向Y轴正向走轴正向走50的点的点从当前位置(由从当前位置(由CurrentX,CurrentY决定)画到决定)画到(400,500)Line (250,300)-(400,500)Line - (400,500)Line (150,250) - Step (150,50) 等同于:等同于:Line (150,250) - (300,300)Line (20,40) - (150,200) , , B40真题练

23、习真题练习1、当使用、当使用Line方法画直线后,当前坐标为()?方法画直线后,当前坐标为()?A、容器对象的原点、容器对象的原点B、直线的起点、直线的起点C、直线的终点、直线的终点D、容器对象的中心、容器对象的中心答案:答案:C41真题练习真题练习2、假设窗体的当前坐标为(、假设窗体的当前坐标为(200,200),则执行语句),则执行语句Line Step(100,100)Step(200,200)时,绘制)时,绘制的直线的起点坐标为()?终点坐标为()?的直线的起点坐标为()?终点坐标为()?答案:(答案:(300,300) (500,500)423、语句、语句 Line(100,100)

24、()(500,500),),vbRed,BF 的功能是()?的功能是()?答案:在窗体上绘制一个红色的实心矩形答案:在窗体上绘制一个红色的实心矩形真题练习真题练习43真题练习真题练习4、Form1.FillColor = vbBlue Form1.FillStyle = 0 Line(100,100)()(500,500),),vbRed,B 以上程序段的功能是()?以上程序段的功能是()?答案:在窗体上绘制一个边框为红色、填充色为答案:在窗体上绘制一个边框为红色、填充色为 蓝色的矩形。蓝色的矩形。44格式:格式: 对象对象. Circle Step (x,y),半径半径,颜色颜色,起始角起始角,终止角终止角,纵横轴比率纵横轴比率其中:其中: (x,y)为圆心坐标,可选关键字为圆心坐标,可选关键字Step表示采用相对坐标值;表示采用相对坐标值;例如:例如:Circle (1000, 1000), 1000圆弧和扇形通过参数起始角,终止角控制(单位:圆弧和扇形通过参数起始角,终止角控制(单位:弧度弧度)。角度前)。角度前加加负号负号表示在圆心和圆弧间画出表示在圆心和圆弧间画出径向线;径向线;负号并不是表示负角度负号并不是表示负角度。 椭圆通过椭圆通过纵横轴比率纵横轴比率控制,默认值为控制,默认值为1,画圆。,画圆。 Circle (1000, 1000),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论