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

下载本文档

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

文档简介

图形控件和图形方法第一页,共二十九页,编辑于2023年,星期二6.1.1图片框控件

工具箱中图片框控件的图标为

。图片框控件名称的缺省值为:Picture1、Picture2、……,微软建议名称前缀为pic。图片框控件用以显示图片,也可以作为其他对象的容器、显示图形方法的输出结果和Print方法输出的文本。1.图片框控件的常用属性(1)Picture属性。图片框控件的Picture属性返回或设置图片框中的图片。在图片框中加载图像有下列两种方式:1)设计时选取:界面设计时,在该图片框控件属性窗口中点击“Picture”属性,随之弹出“加载图片”对话框,选择所要显示的图片文件后,相应的图片被加载到图片框中。2)

运行时装入:程序运行时,可用LoadPicture函数装入图片到图片框控件中。格式:图片框控件名.Picture=LoadPicture(filename)

2第二页,共二十九页,编辑于2023年,星期二6.1.1图片框控件

(2)AutoSize属性。

AutoSize属性值为True时,图片框的边界会随着所装入图片的大小变化而变化。此时在设计窗体过程中就应特别小心,图片将不考虑窗体上其他控件的分布情况,而根据图片的大小自动调整图片框的大小,可能导致窗体上的其他控件被覆盖,所以应慎用,以免影响窗体界面的完整性。

(3)Align属性◆

图片框控件的Align属性值为0:标准位置,图片框在原位置。◆图片框控件的Align属性值为1,则图片框贴紧到窗体的上边;Align属性值为2,则图片框贴紧到窗体的下边。

图片框控件的Align属性值为3,则图片框贴紧到窗体的左边;Align属性值为4,则图片框贴紧到窗体的右边。

3第三页,共二十九页,编辑于2023年,星期二6.1.1图片框控件2.图片框控件的常用方法(1)Print方法。图片框控件可以用来显示Print方法输出的文本,格式如下:图片框控件名称.Print输出表如执行“Picture1.Print"图片框"”,则在图片框Picture1上当前输出位置,显示“图片框”这3个字。(2)Cls方法。图片框上除了所装入的图片外,其他的所有文字、图形都可以用Cls方法擦除,格式如下:

图片框控件名称.Cls

4第四页,共二十九页,编辑于2023年,星期二6.1.2影像框控件

工具箱中影像框控件的图标为

影像框控件名称的缺省值为:Image1、Image2、……,微软建议名称前缀为img。影像框控件只能用于显示图像,不支持图形方法,也不能当作容器来使用。1.影像框控件常用属性(1)Picture属性。与图片框控件的Picture属性一样,可以在设计时设置,也可以在程序运行时用LoadPicture函数装入。详细说明可以参见6.1.1。(2)Stretch属性。图片框控件的AutoSize属性设置为True时,其大小会随所装入的图片而变化,这样可以得到图片的原始大小,但有时当所加载的图片比较大时,可能会影响窗体上其他控件的显示。

5第五页,共二十九页,编辑于2023年,星期二6.1.2影像框控件2.影像框控件常用事件影像框控件与图片框控件可以响应的事件过程大体相同,如Change、Click、MouseDown、MouseUp、MouseMove等常用事件。读者可以根据程序设计的要求,编写相应的事件过程,下列各程序段可以帮助读者了解鼠标引发事件过程的使用方法。下列事件过程可以显示鼠标在影像框控件上点击位置的坐标值。PrivateSubImage1_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)'参数x、y为鼠标在影像框按下处的坐标值。

PrintX,YEndSubImage控件可接受Click等事件,因此可以充当图形命令按钮。

6第六页,共二十九页,编辑于2023年,星期二6.1.3形状控件

工具箱中形状控件的图标为。形状控件缺省的控件名称为:Shape1、Shape2、……,微软建议名称前缀为shp。1.形状控件常用属性

(1)Shape属性。形状控件用于创建指定的图形,通过设置Shape属性来得到所需要的形状,画出正方形、矩形、圆和椭圆等。

Shape属性定义该控件显示的图形。取整数值或系统定义的符号常量,取值及含义如下:◆

0或VbShapeRectangle:控件形状为矩形

。◆

1或VbShapeSquare:控件形状为正方形。◆

2或VbShapeOval:控件形状为椭圆形。◆

3或VbShapeCircle:控件形状为圆形。◆

4或VbShapeRoundedRectangle:控件形状为圆角矩形。◆

5或VbShapeRoundedSquare:控件形状为圆角正方形。

7第七页,共二十九页,编辑于2023年,星期二6.1.3形状控件

(2)BorderStyle属性。该属性定义图形边框样式,取值及含义如下:◆

0:透明,即无边框。◆

1:实线,为缺省值。◆

2:长虚线。◆

3:虚线。◆

4:点划线。◆

5:双点划线。◆

6:内插实线,如果BorderWidth属性值大于1,控件保证图形最大尺寸等于设定值。

8第八页,共二十九页,编辑于2023年,星期二6.1.3形状控件

(3)FillStyle属性。该属性用于指定图形的填充样式。取值及含义如下:◆

0:实心填充◆

1:透明,即不填充,为缺省值。◆

2:水平线填充。◆

3:垂直线填充。◆

4:斜线填充。◆

5:反斜线填充。◆

6:网格填充。◆

7:倾斜网格填充。

9第九页,共二十九页,编辑于2023年,星期二6.1.3形状控件(4)其他常用属性。◆

BorderColor:设置边框颜色。◆

FillColor:设置填充颜色。◆

BorderWidth:设置边框宽度。利用形状控件,可以在界面设计时,通过对形状控件有关属性的设置直接得到相应的图形,也可以在程序中设置属性来获得所需要的图形。

10第十页,共二十九页,编辑于2023年,星期二6.1.4直线控件

工具箱中直线控件的图标为

。直线控件缺省的控件名称为:Line1、Line2、……,微软建议名称前缀为lin。直线控件与形状控件相似,但只用于画线。界面设计时可以通过鼠标操作调整线段的位置、长短和颜色等属性;程序运行时,可以通过改变直线的端点坐标(x1,y1)、(x2,y2)来移动它或调整它的长短。同形状控件的边框样式属性一样,Line控件通过对BorderStyle属性的设置定义该控件所显示的直线的线形,其不同取值表示不同的线形,分别为透明、实线、长虚线、虚线、点划线、双点划线等。11第十一页,共二十九页,编辑于2023年,星期二6.2.1容器坐标系

在VisualBasic中,每个容器都有一个坐标系,坐标系中的X轴向右、Y轴向下延伸,如图6-11所示为缺省的窗体坐标系统、框架控件的坐标系统。1.控件在容器中的位置属性控件在容器中的位置属性包括Top属性和Left属性。

x

y图6-11VisualBasic坐标系示例

12第十二页,共二十九页,编辑于2023年,星期二6.2.1容器坐标系

(1)Top属性。控件的该属性值是控件左上角到所在容器上边沿的距离。如果控件外的容器为窗体,则控件的Top属性值为控件左上角到所在窗体标题栏下边沿的距离。(2)Left属性。控件的该属性值是控件左上角到所在容器左边沿的距离。PrivateSubForm_Click()PrintTop,Left,Height,WidthPrintFrame1.Top,Frame1.Left,Frame1.Height,Frame1.WidthPrintText1.Top,Text1.Left,Text1.Height,Text1.WidthEndSub

13第十三页,共二十九页,编辑于2023年,星期二6.2.1容器坐标系

2.控件自身宽度、高度的属性(1)Width属性,该属性值为控件本身的宽度。(2)Height属性,该属性值为控件本身的高度。在图6-11中,如果拖动框架控件、改变其在窗体中的位置,框架控件的Top、Left属性可以被改变,而Width、Height属性不改变。如果仅改变框架控件的大小而保持其左上角位置不变,则Width、Height属性被改变。3.容器(窗体、图片框)的坐标属性(1)ScaleLeft属性,该属性值为容器左上角的横坐标,缺省值为0。(2)ScaleTop属性,该属性值为容器左上角的纵坐标,缺省值为0。(3)ScaleWidth属性,该属性值为容器内部的宽度值。(4)ScaleHeight属性,该属性值为容器内部的高度值(5)CurrentX、CurrentY属性,分别表示当前点在容器内的横坐标、纵坐标。设置CurrentX、CurrentY属性后,所设值就是下一个输出方法的当前位置。14第十四页,共二十九页,编辑于2023年,星期二6.2.2改变容器坐标系的Scale方法

容器坐标系中,坐标系刻度单位的缺省值为“缇”(1缇≈0.01764mm),容器的最小坐标值为左上角坐标,容器的最大坐标值为右下角坐标。利用Scale方法可以改变原点的坐标并随之改变最大坐标值,格式为:容器名.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-y115第十五页,共二十九页,编辑于2023年,星期二6.2.3坐标刻度

VisualBasic程序设计中,经常使用的刻度单位为:缇、磅和毫米。通过设置容器的ScaleMode属性可以选择改变坐标系统的单位。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,容器坐标系的刻度单位为厘米。

16第十六页,共二十九页,编辑于2023年,星期二6.2.3坐标刻度

当选择标准刻度时,系统自动使ScaleLeft、ScaleTop值为0,并设置ScaleHeight、ScaleWidth值,这些属性决定了容器坐标的最小值、最大值。2.自定义刻度将ScaleMode值设置为0,则采用自定义刻度。用Scale方法设置坐标系后,ScaleMode值自动变为0。反之,ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth属性被改变,ScaleMode值自动变为0,单位长度根据变化后的上述属性重新确定。

17第十七页,共二十九页,编辑于2023年,星期二6.3.1使用颜色

使用图形方法绘图时总要使用不同的颜色,VisualBasic6.0使用的颜色用一个长整型数(通常用16进制)表示,如&HFFFF00&。其数值由3部分组成:右边的两位(16进制数,下同)代表红色的亮度值,中间的两位代表绿色的亮度值,左边的两位代表蓝色的亮度值。每个亮度值都可以取0~255之间的数值,因此共有1600多万种不同的颜色取值。界面设计时可以通过在对象的属性窗口中选择需要设置的颜色属性,用打开的“调色板”对话框进行颜色设置。程序运行时,可以使用颜色函数、使用系统预定义颜色常量、直接赋值或使用通用对话框中的“颜色”对话框来指定颜色。

18第十八页,共二十九页,编辑于2023年,星期二6.3.1使用颜色

1.颜色函数

VisualBasic提供了两个专门处理颜色的函数:RGB和QBColor。

(1)RGB函数。

RGB函数是颜色函数中最常用的一个,其使用格式为:

RGB(Red,Green,Blue)

其中:Red、Green、Blue分别表示红色的亮度值,绿色的亮度值和蓝色的亮度值,取值范围都是0~255。如将窗体Form1的背景色设置为红色,命令如下:

Form1.BackColor=RGB(255,0,0)RGB函数采用红、绿、蓝三色原理,返回一个Long整数,用来表示一个颜色值。表6-1列出了一些常见的颜色以及这些颜色的三色值。19第十九页,共二十九页,编辑于2023年,星期二6.3.1使用颜色颜色红色值绿色值蓝色值白色255255255黄色2552550洋红色2550255红色25500青色0255255绿色02550蓝色00255黑色000表6-2Color参数的设置值及对应的颜色

参数值颜色参数值颜色参数值颜色0黑

色6黄

色12亮红色1蓝色7白色13亮洋红色2绿色8灰色14亮黄色3青色9亮蓝色15亮白色4红色10亮绿色

5洋红色11亮青色

表6-1常见颜色的RGB值20第二十页,共二十九页,编辑于2023年,星期二6.3.1使用颜色例如:将窗体Form1的背景色设置为红色,也可以写作:Form1.BackColor=QBColor(12)2.使用预定义常量由VisualBasic6.0内部定义,读者可以在“视图”菜单的“对象浏览器”中选择ColorConstants,查看所有这些常量,在程序中不需要声明就可以直接使用。如:Form1.BackColor=vbRed '将窗体背景设置为红色Form1.BackColor=vbGreen '将窗体背景设置为绿色3.直接赋值如果知道具体的颜色值,也可以直接给颜色属性赋值,如:Form1.BackColor=&HFF& '设置窗体背景色为红色Form1.BackColor=&HFF00& '设置窗体背景色为绿色Form1.BackColor=&HFFFF00&'设置窗体背景色为黄色21第二十一页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用

1.画点方法Pset格式:[容器.]Pset[step](x,y)[,color]

该方法在容器上(x,y)处以值为color的颜色画点(x、y是Single类型表达式);缺省容器则指当前窗体,缺省color则为容器前景色(ForeColor)。◆

容器的当前输出位置坐标为(容器名.CurrentX,容器名.CurrentY),加Step关键字则在坐标(容器名.CurrentX+x,容器名.CurrentY+y)位置画点。◆

该方法所画点的大小,取决于容器的DrawWidth属性值。

DrawWidth用来设置绘图线的宽度,值以像素为单位,取值范围是1~32767,缺省值为1即一个像素宽。设置该属性后,将影响Pset、Line和Circle等方法的输出效果。

22第二十二页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用2.返回某点颜色值的函数Point格式:Point(x,y)该函数的返回值为点(x,y)的颜色值。如执行语句“C=Point(50,100)”,将窗体坐标(50,100)处点的颜色值存入变量C。例6-1以下程序利用Pset方法绘制Cos(x)函数曲线。PrivateSubForm_Click()DimxAsInteger,iAsIntegerFori=0To10000PSet(i,1200),vbRed'用画点的方法连线

NextiForx=0To10000PSet(x,1000*Cos(x*3.1415926/1800)+1200),vbBlueNextxEndSub

23第二十三页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用3.画线、矩形方法Line(1)两点连线。①格式1:[容器名.]Line[(x1,y1)]-(x2,y2)[,Color]

缺省容器名指窗体;缺省起点坐标则以当前输出位置为起点;缺省Color表达式则为容器的ForeColor属性;坐标点为Single类型表达式。例如,下列语句分别在窗体、控件Picture1上画线。

Line(100,150)-(400,300),RGB(120,120,200) '窗体坐标

Picture1.Line(10,10)-(60,100),RGB(0,0,255) '图片框坐标②格式2:[容器名.]Line[(x1,y1)]-Step(x2,y2)[,Color]

所绘制直线的两个端点位置为(x1,y1)和(x1+x2,y1+y2)。24第二十四页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用(2)多点折线。连续使用缺省起点、画两点连线的语句,可以绘制多点折线:每句的终点位置为下一句的起点位置,首句或是采用格式1,或是以当前输出位置作为起点。例如:下列语句在窗体上所绘折线如图6-15所示。Line(50,100)-(100,100),RGB(120,120,200)Line-(150,150),RGB(120,120,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)

25第二十五页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用(100,200)(150,150)(100,100)(50,100)(0,150)(50,200)图6-15多点折线

(3)矩形与填充矩形。①格式1:[容器名.]Line[(x1,y1)]-[Step](x2,y2)[,[Color][,B]]指定位置为矩形对角点,以容器的FillStyle填充格式、FillColor颜色在矩形内部填充;图形边框的颜色由Color表达式指定,缺省Color表达式则为容器的ForeColor属性。图形的填充特性只有对封闭图形才起作用。26第二十六页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用②格式2:[容器名.]Line[(x1,y1)]-[Step](x2,y2),[Color],BF

用画矩形边框的颜色再填充矩形为实心,该语句的输出效果与容器的FillStyle、FillColor属性无关。例如:执行下列语句后,在窗体上的输出结果如图6-16所示。Form1.FillStyle=2Form1.FillColor=vbBlueForm1.ForeColor=vbGreenLine(100,100)-(1500,1000),vbRed,B'红色外框,兰色水平填充线Line(1600,100)-(2500,1000),,B'绿色外框,兰色水平填充线Line(2800,100)-(3800,1000),vbRed,BF'红色实心矩形27第二十七页,共二十九页,编辑于2023年,星期二6.3.2图形方法与应用4.圆、圆弧与椭圆方法Circle(1)画圆。

温馨提示

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

评论

0/150

提交评论