第6章图形控件和图形方法

上传人:无*** 文档编号:172062985 上传时间:2022-11-30 格式:PPT 页数:29 大小:139.04KB
收藏 版权申诉 举报 下载
第6章图形控件和图形方法_第1页
第1页 / 共29页
第6章图形控件和图形方法_第2页
第2页 / 共29页
第6章图形控件和图形方法_第3页
第3页 / 共29页
资源描述:

《第6章图形控件和图形方法》由会员分享,可在线阅读,更多相关《第6章图形控件和图形方法(29页珍藏版)》请在装配图网上搜索。

1、1第6章 图形控件和图形方法 6.1 图形控件 6.2 Visual Basic坐标系 6.3 图形方法 6.4 小 结 26.1.1 图片框控件 工具箱中图片框控件的图标为 。图片框控件名称的缺省值为:Picture1、Picture2、,微软建议名称前缀为pic。图片框控件用以显示图片,也可以作为其他对象的容器、显示图形方法的输出结果和Print方法输出的文本。1图片框控件的常用属性图片框控件的常用属性q(1)Picture属性。图片框控件的Picture属性返回或设置图片框中的图片。在图片框中加载图像有下列两种方式:1)设计时选取:界面设计时,在该图片框控件属性窗口中点击“Picture

2、”属性,随之弹出“加载图片”对话框,选择所要显示的图片文件后,相应的图片被加载到图片框中。2)运行时装入:程序运行时,可用LoadPicture函数装入图片到图片框控件中。格式:图片框控件名.Picture=LoadPicture(filename)36.1.1 图片框控件q (2)AutoSize属性。AutoSize属性值为True时,图片框的边界会随着所装入图片的大小变化而变化。此时在设计窗体过程中就应特别小心,图片将不考虑窗体上其他控件的分布情况,而根据图片的大小自动调整图片框的大小,可能导致窗体上的其他控件被覆盖,所以应慎用,以免影响窗体界面的完整性。q (3)Align属性 图片框

3、控件的Align属性值为0:标准位置,图片框在原位置。图片框控件的Align属性值为1,则图片框贴紧到窗体的上边;Align属性值为2,则图片框贴紧到窗体的下边。图片框控件的Align属性值为3,则图片框贴紧到窗体的左边;Align属性值为4,则图片框贴紧到窗体的右边。46.1.1 图片框控件2图片框控件的常用方法图片框控件的常用方法(1)Print方法。图片框控件可以用来显示Print方法输出的文本,格式如下:图片框控件名称.Print 输出表 如执行“Picture1.Print 图片框”,则在图片框Picture1上当前输出位置,显示“图片框”这3个字。(2)Cls方法。图片框上除了所装

4、入的图片外,其他的所有文字、图形都可以用Cls方法擦除,格式如下:图片框控件名称.Cls 56.1.2 影像框控件 工具箱中影像框控件的图标为 。影像框控件名称的缺省值为:Image1、Image2、,微软建议名称前缀为img。影像框控件只能用于显示图像,不支持图形方法,也不能当作容器来使用。1影像框控件常用属性影像框控件常用属性(1)Picture属性。与图片框控件的Picture属性一样,可以在设计时设置,也可以在程序运行时用LoadPicture函数装入。详细说明可以参见6.1.1。(2)Stretch属性。图片框控件的AutoSize属性设置为True时,其大小会随所装入的图片而变化,

5、这样可以得到图片的原始大小,但有时当所加载的图片比较大时,可能会影响窗体上其他控件的显示。66.1.2 影像框控件 2影像框控件常用事件影像框控件常用事件 影像框控件与图片框控件可以响应的事件过程大体相同,如Change、Click、MouseDown、MouseUp、MouseMove等常用事件。读者可以根据程序设计的要求,编写相应的事件过程,下列各程序段可以帮助读者了解鼠标引发事件过程的使用方法。下列事件过程可以显示鼠标在影像框控件上点击位置的坐标值。Private Sub Image1_MouseDown(Button As Integer,Shift As Integer,_ X As

6、 Single,Y As Single)参数x、y为鼠标在影像框按下处的坐标值。Print X,Y End Sub Image控件可接受Click等事件,因此可以充当图形命令按钮。76.1.3 形状控件 工具箱中形状控件的图标为。形状控件缺省的控件名称为:Shape1、Shape2、,微软建议名称前缀为shp。1形状控件常用属性形状控件常用属性 (1)Shape属性。形状控件用于创建指定的图形,通过设置Shape属性来得到所需要的形状,画出正方形、矩形、圆和椭圆等。Shape属性定义该控件显示的图形。取整数值或系统定义的符号常量,取值及含义如下:0或VbShapeRectangle:控件形状为

7、矩形。1或VbShapeSquare:控件形状为正方形。2或VbShapeOval:控件形状为椭圆形。3或VbShapeCircle:控件形状为圆形。4或VbShapeRoundedRectangle:控件形状为圆角矩形。5或VbShapeRoundedSquare:控件形状为圆角正方形。86.1.3 形状控件 (2)BorderStyle属性。该属性定义图形边框样式,取值及含义如下:0:透明,即无边框。1:实线,为缺省值。2:长虚线。3:虚线。4:点划线。5:双点划线。6:内插实线,如果BorderWidth属性值大于1,控件保证图形最大尺寸等于设定值。96.1.3 形状控件 (3)Fill

8、Style属性。该属性用于指定图形的填充样式。取值及含义如下:0:实心填充 1:透明,即不填充,为缺省值。2:水平线填充。3:垂直线填充。4:斜线填充。5:反斜线填充。6:网格填充。7:倾斜网格填充。106.1.3 形状控件(4)其他常用属性。BorderColor:设置边框颜色。FillColor:设置填充颜色。BorderWidth:设置边框宽度。利用形状控件,可以在界面设计时,通过对形状控件有关属性的设置直接得到相应的图形,也可以在程序中设置属性来获得所需要的图形。116.1.4 直线控件 工具箱中直线控件的图标为 。直线控件缺省的控件名称为:Line1、Line2、,微软建议名称前缀为

9、lin。直线控件与形状控件相似,但只用于画线。界面设计时可以通过鼠标操作调整线段的位置、长短和颜色等属性;程序运行时,可以通过改变直线的端点坐标(x1,y1)、(x2,y2)来移动它或调整它的长短。同形状控件的边框样式属性一样,Line控件通过对BorderStyle属性的设置定义该控件所显示的直线的线形,其不同取值表示不同的线形,分别为透明、实线、长虚线、虚线、点划线、双点划线等。126.2.1 容器坐标系 在Visual Basic中,每个容器都有一个坐标系,坐标系中的X轴向右、Y轴向下延伸,如图6-11所示为缺省的窗体坐标系统、框架控件的坐标系统。1控件在容器中的位置属性控件在容器中的位

10、置属性 控件在容器中的位置属性包括Top属性和Left属性。x y图6-11 Visual Basic坐标系示例 136.2.1 容器坐标系 q(1)Top属性。控件的该属性值是控件左上角到所在容器上边沿的距离。如果控件外的容器为窗体,则控件的Top属性值为控件左上角到所在窗体标题栏下边沿的距离。q(2)Left属性。控件的该属性值是控件左上角到所在容器左边沿的距离。Private Sub Form_Click()Print Top,Left,Height,Width Print Frame1.Top,Frame1.Left,Frame1.Height,Frame1.Width Print T

11、ext1.Top,Text1.Left,Text1.Height,Text1.Width End Sub 146.2.1 容器坐标系 2控件自身宽度、高度的属性控件自身宽度、高度的属性q(1)Width属性,该属性值为控件本身的宽度。q(2)Height属性,该属性值为控件本身的高度。在图6-11中,如果拖动框架控件、改变其在窗体中的位置,框架控件的Top、Left属性可以被改变,而Width、Height属性不改变。如果仅改变框架控件的大小而保持其左上角位置不变,则Width、Height属性被改变。3容器(窗体、图片框)的坐标属性容器(窗体、图片框)的坐标属性q(1)ScaleLeft属性

12、,该属性值为容器左上角的横坐标,缺省值为0。q(2)ScaleTop属性,该属性值为容器左上角的纵坐标,缺省值为0。q(3)ScaleWidth属性,该属性值为容器内部的宽度值。q(4)ScaleHeight属性,该属性值为容器内部的高度值q(5)CurrentX、CurrentY属性,分别表示当前点在容器内的横坐标、纵坐标。设置CurrentX、CurrentY属性后,所设值就是下一个输出方法的当前位置。156.2.2 改变容器坐标系的Scale方法 容器坐标系中,坐标系刻度单位的缺省值为“缇”(1缇0.01764mm),容器的最小坐标值为左上角坐标,容器的最大坐标值为右下角坐标。利用Sca

13、le方法可以改变原点的坐标并随之改变最大坐标值,格式为:容器名.Scale(x1,y1)-(x2,y2)该语句功能:改变容器(缺省容器名指窗体)左上角坐标为(x1,y1),右下角坐标值为(x2,y2),将容器在X轴方向分为x2-x1等份、Y轴方向分为y2-y1等份,并将容器的4个坐标属性设置为:容器名.ScaleLeft=x1 容器名.ScaleTop=y1 容器名.ScaleWidth=x2-x1 容器名.ScaleHeight=y2-y1 166.2.3 坐标刻度 Visual Basic程序设计中,经常使用的刻度单位为:缇、磅和毫米。通过设置容器的ScaleMode属性可以选择改变坐标系

14、统的单位。1设置(选择)标准刻度设置(选择)标准刻度 ScaleMode属性值为1,容器坐标系的刻度单位为缇,1缇0.01764毫米0.05磅 ScaleMode属性值为2,容器坐标系的刻度单位为磅,1磅0.353毫米。ScaleMode属性值为3,容器坐标系的刻度单位为像素,是显示器分辨率的最小单位。ScaleMode属性值为4,容器坐标系的刻度单位为字符,每个字符宽6磅、高12磅。ScaleMode属性值为5,容器坐标系的刻度单位为英寸。ScaleMode属性值为6,容器坐标系的刻度单位为毫米。ScaleMode属性值为7,容器坐标系的刻度单位为厘米。176.2.3 坐标刻度 当选择标准刻

15、度时,系统自动使ScaleLeft、ScaleTop值为0,并设置ScaleHeight、ScaleWidth值,这些属性决定了容器坐标的最小值、最大值。2自定义刻度自定义刻度 将ScaleMode值设置为0,则采用自定义刻度。用Scale方法设置坐标系后,ScaleMode值自动变为0。反之,ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth属性被改变,ScaleMode值自动变为0,单位长度根据变化后的上述属性重新确定。186.3.1 使用颜色 使用图形方法绘图时总要使用不同的颜色,Visual Basic 6.0使用的颜色用一个长整型数(通常用16进制)表

16、示,如&HFFFF00&。其数值由3部分组成:右边的两位(16进制数,下同)代表红色的亮度值,中间的两位代表绿色的亮度值,左边的两位代表蓝色的亮度值。每个亮度值都可以取0255之间的数值,因此共有1600多万种不同的颜色取值。界面设计时可以通过在对象的属性窗口中选择需要设置的颜色属性,用打开的“调色板”对话框进行颜色设置。程序运行时,可以使用颜色函数、使用系统预定义颜色常量、直接赋值或使用通用对话框中的“颜色”对话框来指定颜色。196.3.1 使用颜色 1颜色函数颜色函数 Visual Basic提供了两个专门处理颜色的函数:RGB和QBColor。q (1)RGB函数。RGB函数是颜色函数中

17、最常用的一个,其使用格式为:RGB(Red,Green,Blue)其中:Red、Green、Blue分别表示红色的亮度值,绿色的亮度值和蓝色的亮度值,取值范围都是0255。如将窗体Form1的背景色设置为红色,命令如下:Form1.BackColor=RGB(255,0,0)RGB函数采用红、绿、蓝三色原理,返回一个Long整数,用来表示一个颜色值。表6-1列出了一些常见的颜色以及这些颜色的三色值。206.3.1 使用颜色颜颜 色色红色值红色值绿色值绿色值蓝色值蓝色值白白 色色255255255黄黄 色色2552550洋红色洋红色2550255红红 色色25500青青 色色0255255绿绿

18、色色02550蓝蓝 色色00255黑黑 色色000表6-2 Color参数的设置值及对应的颜色 参数值参数值颜颜 色色参数值参数值颜颜 色色参数值参数值颜颜 色色0黑黑 色色6黄黄 色色12亮红色亮红色1蓝蓝 色色7白白 色色13亮洋红色亮洋红色2绿绿 色色8灰灰 色色14亮黄色亮黄色3青青 色色9亮蓝色亮蓝色15亮白色亮白色4红红 色色10亮绿色亮绿色 5洋红色洋红色11亮青色亮青色 表6-1常见颜色的R GB值216.3.1 使用颜色 例如:将窗体Form1的背景色设置为红色,也可以写作:Form1.BackColor=QBColor(12)2使用预定义常量使用预定义常量 由Visual

19、Basic 6.0内部定义,读者可以在“视图”菜单的“对象浏览器”中选择ColorConstants,查看所有这些常量,在程序中不需要声明就可以直接使用。如:Form1.BackColor=vbRed 将窗体背景设置为红色 Form1.BackColor=vbGreen 将窗体背景设置为绿色 3直接赋值直接赋值 如果知道具体的颜色值,也可以直接给颜色属性赋值,如:Form1.BackColor=&HFF&设置窗体背景色为红色 Form1.BackColor=&HFF00&设置窗体背景色为绿色 Form1.BackColor=&HFFFF00&设置窗体背景色为黄色 226.3.2 图形方法与应用

20、 1画点方法画点方法Pset格式:容器.Pset step(x,y),color 该方法在容器上(x,y)处以值为color的颜色画点(x、y是Single类型表达式);缺省容器则指当前窗体,缺省color则为容器前景色(ForeColor)。容器的当前输出位置坐标为(容器名.CurrentX,容器名.CurrentY),加Step关键字则在坐标(容器名.CurrentX+x,容器名.CurrentY+y)位置画点。该方法所画点的大小,取决于容器的DrawWidth属性值。DrawWidth用来设置绘图线的宽度,值以像素为单位,取值范围是132767,缺省值为1即一个像素宽。设置该属性后,将影

21、响Pset、Line和Circle等方法的输出效果。236.3.2 图形方法与应用 2返回某点颜色值的函数返回某点颜色值的函数Point 格式:Point(x,y)该函数的返回值为点(x,y)的颜色值。如执行语句“C=Point(50,100)”,将窗体坐标(50,100)处点的颜色值存入变量C。例例6-1 以下程序利用以下程序利用Pset方法绘制方法绘制Cos(x)函数曲线。函数曲线。Private Sub Form_Click()Dim x As Integer,i As Integer For i=0 To 10000 PSet(i,1200),vbRed 用画点的方法连线 Next i

22、 For x=0 To 10000 PSet(x,1000*Cos(x*3.1415926/1800)+1200),vbBlue Next x End Sub 246.3.2 图形方法与应用 3画线、矩形方法画线、矩形方法Lineq(1)两点连线。格式1:容器名.Line(x1,y1)-(x2,y2),Color 缺省容器名指窗体;缺省起点坐标则以当前输出位置为起点;缺省Color表达式则为容器的ForeColor属性;坐标点为Single类型表达式。例如,下列语句分别在窗体、控件Picture1上画线。Line(100,150)-(400,300),RGB(120,120,200)窗体坐标

23、Picture1.Line(10,10)-(60,100),RGB(0,0,255)图片框坐标 格式2:容器名.Line(x1,y1)-Step(x2,y2),Color 所绘制直线的两个端点位置为(x1,y1)和(x1+x2,y1+y2)。256.3.2 图形方法与应用q(2)多点折线。连续使用缺省起点、画两点连线的语句,可以绘制多点折线:每句的终点位置为下一句的起点位置,首句或是采用格式1,或是以当前输出位置作为起点。例如:下列语句在窗体上所绘折线如图6-15所示。Line(50,100)-(100,100),RGB(120,120,200)Line-(150,150),RGB(120,1

24、20,200)Line-Step(-50,50),RGB(120,120,200)Line-(50,200),RGB(120,120,200)Line-(0,150),RGB(120,120,200)Line-(50,100),RGB(120,120,200)266.3.2 图形方法与应用(100,200)(150,150)(100,100)(50,100)(0,150)(50,200)图6-15 多点折线q (3)矩形与填充矩形。格式1:容器名.Line(x1,y1)-Step(x2,y2),Color,B 指定位置为矩形对角点,以容器的FillStyle填充格式、FillColor颜色在矩

25、形内部填充;图形边框的颜色由Color表达式指定,缺省Color表达式则为容器的ForeColor属性。图形的填充特性只有对封闭图形才起作用。276.3.2 图形方法与应用 格式2:容器名.Line(x1,y1)-Step(x2,y2),Color,BF 用画矩形边框的颜色再填充矩形为实心,该语句的输出效果与容器的FillStyle、FillColor属性无关。例如:执行下列语句后,在窗体上的输出结果如图6-16所示。Form1.FillStyle=2 Form1.FillColor=vbBlue Form1.ForeColor=vbGreen Line(100,100)-(1500,1000

26、),vbRed,B 红色外框,兰色水平填充线 Line(1600,100)-(2500,1000),B 绿色外框,兰色水平填充线 Line(2800,100)-(3800,1000),vbRed,BF 红色实心矩形 286.3.2 图形方法与应用 4圆、圆弧与椭圆方法圆、圆弧与椭圆方法Circleq (1)画圆。格式:容器名.Circle Step(x,y),radius,Color 以(x,y)为圆心(有Step关键字则以(CurrentX+x,CurrentY+y)为圆心)、以radius为半径画颜色值为Color的圆。缺省容器名、Color选项的有关规则同前,不再赘述。q (2)画圆弧。

27、格式:容器名.Circle Step(x,y),radius,Color,start,end start、end为Single类型表达式,该方法以start弧度为起点按逆时针方向到end弧度为止画一段圆弧(平行于x轴的正向为0弧度)。若start为负值,该方法还画出1条从圆心到圆弧相应端点的连线,参数end也同样。q (3)画椭圆(弧)。格式:容器名.Circle Step(x,y),radius,Color,start,end,aspect aspect是取正值的Single类型表达式,为椭圆纵轴与横轴之比。若aspect值小于1,则radius为横轴的长度,否则为纵轴的长度。在缺省某参数前

28、的参数时,不可以缺省“,”号。296.4 小 结 本章主要介绍Visual Basic的图形控件和图形方法。图形控件包括图片框、影像框、形状控件和直线控件。图片框控件不仅可用以显示图片,也可以作为其他对象的容器、显示图形方法的输出结果和Print方法输出的文本等;影像框只能用以显示图片,同时由于它能够响应Click事件,所以常常用来作为图形命令按钮来使用。利用形状控件可以很方便地画出如圆、矩形等简单的图形;直线控件则可以画直线、折线,也可以画矩形。熟悉Visual Basic的坐标系统,是利用Visual Basic画图和进行图形处理的基础。每个容器对象都有一套自己的坐标系统,对象定位都是相对于容器的坐标系的。读者应理解坐标属性、坐标方法、坐标刻度单位等概念,并掌握它们的用法。利用图形方法可以画出更多、更高级的图形。使用图形方法一定要熟悉方法使用的格式,以及在画图时经常用到的一些对象属性的用法,如FillStyle、FillColor等。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!