当前位置:
文档之家› 《VB程序设计基础》第6章 图形控件和图形方
《VB程序设计基础》第6章 图形控件和图形方
6.3.1 使用颜色
使用图形方法绘图时总要使用不同的颜色,Visual Basic 6.0使 用的颜色用一个长整型数(通常用16进制)表示,如 &HFFFF00&。其数值由3部分组成:右边的两位(16进制数,下 同)代表红色的亮度值,中间的两位代表绿色的亮度值,左边的 两位代表蓝色的亮度值。 每个亮度值都可以取0~255之间的数值,因此共有1600多万种 不同的颜色取值。 界面设计时可以通过在对象的属性窗口中选择需要设置的颜色 属性,用打开的“调色板”对话框进行颜色设置。 程序运行时,可以使用颜色函数、使用系统预定义颜色常量、 直接赋值或使用通用对话框中的“颜色”对话框来指定颜色。
6.1.3 形状控件
◆ ◆ ◆ ◆ ◆ ◆
工具箱中形状控件的图标为。 形状控件缺省的控件名称为:Shape1、Shape2、……,微软建议 名称前缀为shp。 1.形状控件常用属性 (1) Shape属性。 形状控件用于创建指定的图形,通过设置Shape属性来得到所需 要的形状,画出正方形、矩形、圆和椭圆等。 Shape属性定义该控件显示的图形。取整数值或系统定义的符号 常量,取值及含义如下: 0或VbShapeRectangle:控件形状为矩形 。 1或VbShapeSquare:控件形状为正方形。 2或VbShapeOval:控件形状为椭圆形。 3或VbShapeCircle:控件形状为圆形。 4或VbShapeRoundedRectangle:控件形状为圆角矩形。 5或VbShapeRoundedSquare:控件形状为圆角正方形。
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-y1
第6章 图形控件和图形方
6.1 6.2 6.3 6.4
图形控件 Visual Basic坐标系 图形方法 小 结
6.1.1 图片框控件
工具箱中图片框控件的图标为 。 图片框控件名称的缺省值为:Picture1、Picture2、……,微软建 议名称前缀为pic。 图片框控件用以显示图片,也可以作为其他对象的容器、显示 图形方法的输出结果和Print方法输出的文本。 1.图片框控件的常用属性 (1) Picture属性。 图片框控件的Picture属性返回或设置图片框中的图片。 在图片框中加载图像有下列两种方式: u 设计时选取:界面设计时,在该图片框控件属性窗口中点击 “Picture”属性,随之弹出“加载图片”对话框,选择所要显示的 图片文件后,相应的图片被加载到图片框中。 u 运行时装入:程序运行时,可用LoadPicture函数装入图片到图片 框控件中。格式:图片框控件名.Picture = LoadPicture (filename)
(4) 其他常用属性。 ◆ BorderColor:设置边框颜色。 ◆ FillColor:设置填充颜色。 ◆ BorderWidth:设置边框宽度。 利用形状控件,可以在界面设计时,通过对形状控件有关属性的设置直接得到相应的 图形,也可以在程序中设置属性来获得所需要的图形。
6.1.4 直线控件
6.1.3 形状控件
(2) BorderStyle属性。 该属性定义图形边框样式,取值及含义如下: ◆ 0:透明,即无边框。 ◆ 1:实线,为缺省值。 ◆ 2:长虚线。 ◆ 3:虚线。 ◆ 4:点划线。 ◆ 5:双点划线。 ◆ 6:内插实线,如果BorderWidth属性值大于1,控件保证图形最大尺寸等于设定值。
6.1.2 影像框控件
工具箱中影像框控件的图标为 。 影像框控件名称的缺省值为:Image1、Image2、……,微软建议名称前缀为img。 影像框控件只能用于显示图像,不支持图形方法,也不能当作容器来使用。 1.影像框控件常用属性 (1) Picture属性。 与 图 片 框 控 件 的 Picture 属 性 一 样 , 可 以 在 设 计 时 设 置 , 也 可 以 在 程 序 运 行 时 用 LoadPicture函数装入。详细说明可以参见6.1.1。 (2) Stretch属性。 图片框控件的AutoSize属性设置为True时,其大小会随所装入的图片而变化,这样可以 得到图片的原始大小,但有时当所加载的图片比较大时,可能会影响窗体上其他控件的 显示。
6.1.1 图片框控件
2.图片框控件的常用方法 (1) Print方法。 图片框控件可以用来显示Print方法输出的文本,格式如下: 图片框控件名称.Print 输出表 如执行“Picture1.Print "图片框"”,则在图片框Picture1上当前输出位置,显示“图片框” 这3个字。 (2) Cls方法。 图片框上除了所装入的图片外,其他的所有文字、图形都可以用Cls方法擦除,格式如下: 图片框控件名称.Cls
6.2.3 坐标刻度
◆
◆
◆
◆
◆ ◆ ◆
Visual Basic程序设计中,经常使用的刻度单位为:缇、磅和毫 米。通过设置容器的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,容器坐标系的刻度单位为厘米。
6.2.1 容器坐标系
(1) Top属性。 控件的该属性值是控件左上角到所在容器上边沿的距离。如果控件外的容器为窗体,则 控件的Top属性值为控件左上角到所在窗体标题栏下边沿的距离。 (2) Left属性。 控件的该属性值是控件左上角到所在容器左边沿的距离。 Private Sub Form_Click() Print Top, Left, Height, Width Print Frame1.Top, Frame1.Left, Frame1.Height, Frame1.Width Print Text1.Top, Text1.Left, Text1.Height, Text1.Width End Sub
6.1.2 影像框控件
2.影像框控件常用事件 影像框控件与图片框控件可以响应的事件过程大体相同,如Change、 Click、MouseDown、MouseUp、MouseMove等常用事件。 读者可以根据程序设计的要求,编写相应的事件过程,下列各程序 段可以帮助读者了解鼠标引发事件过程的使用方法。 下列事件过程可以显示鼠标在影像框控件上点击位置的坐标值。 Private Sub Image1_MouseDown(Button As Integer,Shift As Integer, _ X As Single, Y As Single) '参数x、y为鼠标在影像框按下处的坐 标值。 Print X, Y End Sub Image控件可接受Click等事件,因此可以充当图形命令按钮。
工具箱中直线控件的图标为 。 直线控件缺省的控件名称为:Line1、Line2、……,微软建议名称前缀为lin。 直线控件与形状控件相似,但只用于画线。界面设计时可以通过鼠标操作调整线段的 位置、长短和颜色等属性;程序运行时,可以通过改变直线的端点坐标( x1,y1)、 (x2,y2)来移动它或调整它的长短。 同形状控件的边框样式属性一样,Line控件通过对BorderStyle属性的设置定义该控件 所显示的直线的线形,其不同取值表示不同的线形,分别为透明、实线、长虚线、虚线、 点划线、双点划线等。
6.2.3 坐标刻度
当选择标准刻度时,系统自动使 ScaleLeft、ScaleTop 值为 0 ,并设置 ScaleHeight、 ScaleWidth值,这些属性决定了容器坐标的最小值、最大值。 2.自定义刻度 将ScaleMode值设置为0,则采用自定义刻度。 用Scale方法设置坐标系后,ScaleMode值自动变为0。反之,ScaleLeft、ScaleTop、 ScaleHeight、ScaleWidth属性被改变, ScaleMode值自动变为 0,单位长度根据变化后 的上述属性重新确定。
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 属性后,所设值就是下一个输 出方法的当前位置。