第12章 图形操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual Basic程序设计
12.1.2 自定义坐标系
Scale方法:Scale方法可重新定义窗体、图片框、打印机等对象的坐 标系。语法格式为: [对象名.] Scale [(X1, Y1) – (X2, Y2)] 其中:对象名可以是窗体、图片框或打印机。如果缺省对象名,默认 为带有焦点的窗体对象。(X1,Y1)是对象用户区左上角的新坐标, (X2,Y2)是对象用户区右下角的新坐标。缺省时恢复默认坐标系。 执 行 了 Scale 方 法 后 , VB 根 据 给 定 的 坐 标 参 数 自 动 计 算 出 新 的 ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight属性值: ScaleLeft = X1 ScaleTop = Y1 ScaleWidth = X2 – X1 ScaleHeight = Y2 – Y1 所以,通过设置(X1,Y1)、(X2,Y2)可改变坐标单位。
默认坐标系中,属性ScaleTop和ScaleLeft用于控制容器对象左边和顶 端的坐标,根据这两个属性值可形成坐标系原点。所有对象的ScaleTop、 ScaleLeft属性的默认值均为0。 属性Height和Width确定容器对象高度和宽度。 属性ScaleHeight和ScaleWidth确定对象内部水平方向和垂直方向的 单元数。 属性ScaleMode决定对象坐标度量单位,共有8种单位,ScaleMode属 性默认为twip ,ScaleMode属性设置如下表所示。
Shape控件可在绘图对象上绘制矩形、正方形、椭圆、圆、圆角矩形以 及圆角正方形等几何图形。在设计阶段将该控件加到窗体、图片框或框 架中后,即显示为一个几何图形,图形的形状、颜色、形态等由其属性 决定,Shape控件的几个主要属性如下表所示:
属性名 Shape BackStyle BackColor BorderStyle BorderWidth FillStyle FillColor 用于设置控件的形状 决定图形内是否透明,透明时BackColor属性无效 设置或返回图形内部的颜色 设置边界线的样式 设置边界线的宽度 设置图形内部的填充样式 设置或返回图形内部填充内容的颜色 属性含义
Visual Basic程序设计
12.1.1 默认坐标系
VB中,每个对象容器(屏幕、窗体、图片框、框架等)都有 一个默认坐标系,其特点是:原点(0,0)定位在对象容器用户 区的左上角,X轴向右、Y轴向下为正方向。下图是窗体作为控件 的容器时的默认坐标系:
Visual Basic程序设计
12.1.1 默认坐标系
Visual Basic程序设计
12.2.2 Shape控件
例 用Shape控件的Shape属性显示Shape控件的6种形状,并填充不同 的图案,如图所示:
采用Shape控件数组,程序如下: Private Sub Form_Activate() Dim i As Integer Shape1(0).Shape = 0 Shape1(0).FillStyle = 2 For i = 1 To 5 Shape1(i).Left = Shape1(i - 1).Left + 750 Shape1(i).Shape = i Shape1(i).FillStyle = i + 2 Shape1(i).Visible = True Next i End Sub
属性值 0 1 2 3 单 位 4 5 属性值 字符 英寸(inch) 毫米(millimeter) 厘米(centimeter) 单 位
用户自定义(User) twip(默Fra Baidu bibliotek值)
磅(point,每英寸72磅) 6 像素(pixed) 7
Visual Basic程序设计
12.1.2 自定义坐标系
在图形操作中可通过下面方法定制窗体、图片框等对象的坐标系,包 括改变坐标原点的位置、改变X轴及Y轴的正向、改变坐标单位等。 修改属性值:当容器对象的ScaleMode属性设置为0时,允许自定义坐标 系 统 。 此 时 程 序 设 汁 者 可 通 过 设 置 对 象 的 四 个 属 性 ScaleWidth 、 ScaleHeight、ScaleLeft、ScaleTop来定义合适的坐标系。对象左上角 坐 标 为 ( ScaleTop,ScaleLeft ) , 右 下 角 坐 标 为 (ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)。 例如,设置窗体Form1的四项属性为: Form1.ScaleLeft = -200 Form1.ScaleTop = 250 Form1.ScaleWidth = 500 Form1.ScaleHeight = -400
Visual Basic程序设计
12.2.3 MSChart控件
【例】 用菜单改变下图中的图表的类型。在窗体中添加“图表类型”菜单, 其子菜单标题为各种类型名,所有子菜单包括在一个菜单控件数组中,名 称为TypeItem。程序代码如下: Private Sub Form_Load() MSChart1.ColumnCount = 4: MSChart1.RowCount = 3 For i = 1 To MSChart1.RowCount MSChart1.Row = i MSChart1.RowLabel = "数据" & i For j = 1 To MSChart1.ColumnCount MSChart1.Column = j MSChart1.ColumnLabel = "系列" & j MSChart1.Data = i + j Next j, i MSChart1.ShowLegend = True End Sub (转下页)
Visual Basic程序设计
12.3 图形方法
VB除提供了图形控件外,还提供了多种绘图方法, 因而可在绘图对象上完成复杂图形的设计。窗体和 图片框都支持图形方法,可用图形方法在这些对象 上作出任何你想到的图形。必须注意:绘图方法只 能出现在程序代码中,只有当应用程序运行时才能 显示出用绘图方法所绘制的图形。
Visual Basic程序设计
12.3.1 Pset方法
【例】自定义坐标,用Pset方法在窗体上画正弦曲线。运行结果如图所示。 程序代码如下: Private Sub Form_Click() Const Pi = 3.1415926 Dim x As Single Me.DrawWidth = 2 '设置画笔的粗细 Me.Scale (-2 * Pi, 2)-(2 * Pi, -2) '自定义窗体绘图区域的坐标系 统 For x = -2 * Pi To 2 * Pi Step 0.01 '在窗体上绘图区域绘制点由 点组成的正弦曲线 PSet (x, Sin(x)) Next x End Sub
Visual Basic程序设计
12.2.3 MSChart控件
(接上页) Private Sub TypeItem_Click(Index As Integer) Select Case Index Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 MSChart1.chartType = Index Case 11 MSChart1.chartType = 14 Case 12 MSChart1.chartType = 16 End Select End Sub
Visual Basic程序设计
12.3.1 Pset方法
Pset方法用于在对象绘图区域的某一指定位置上画点 并指定颜色。其语法格式为: [对象名.]Pset [Step](x,y) [,颜色] 其中,当颜色参数省略时,缺省颜色为当前绘图对象 所设置的前景色;而点的粗细则由绘图对象的DrawWidth 属性值决定。Step表示采用相对坐标,省略Step关键字 时,(x,y)为画点的绝对坐标,x、y为单精度值。
Visual Basic程序设计
12.2.3 MSChart控件
MSChart控件可用于绘制各种图表,支持真正的三维显示,支持所有主要 的图表类型。值和数据点可以条形图、折线图、标记图、填充区域图、饼 图等形式显示。图表还具有标题、背景、图例、图形和脚注。MSChart是 定制控件,文件名为MSCHART20.OCX,部件名为Microsoft Chart Control6.0,使用时先添加到工具箱中。 MSChart控件的“属性页”如下图所示:
Visual Basic程序设计
12.3.2 Line方法
Line方法用于在窗体或图片框中画直线或矩形。语法格式为: [对象名.]Line[[Step](x1, y1)]–[Step](x2,y2)[,[Color][,B[F]]] 其中: 对象名是指在何对象上画线或矩形,省略时指带焦点的窗体。 (x1,y1)指定所画直线的起点坐标。带有Step关键字时表示相对 坐 标 ; 不 带 时 表 示 绝 对 坐 标 ; 省 略 时 以 对 象 的 CurrentX 和 CurrentY属性确定起点坐标。 (x2,y2)指定所画直线终点的相对或绝对坐标。 Color为画线指定颜色值,省略时用对象的ForeColor属性,若省 略Color而后面还带有选项,则逗号不能省。 若选B,则该方法画出以(x1,y1)、(x2,y2)为主对角线的矩形。 若选F(也必须选B),则以画矩形框的颜色填充矩形。
BorderWidth BorderColor
设置直线的样式
设置或返回直线的宽度 用于设置或返回直线的颜色
直线的属性既可以在设计时通过属性窗口来设置,也可以在程序运 行的时候动态的改变直线的各种属性。例如在运行时修改直线的宽度: Line.BorderWidth=3
Visual Basic程序设计
12.2.2 Shape控件
Visual Basic程序设计
12.2.1 Line控件
Line控件用于在窗体、图片框和框架中直接画直线或斜线,直线的长 短、位置、颜色、形状等由其属性决定。直线的主要属性如下表所示:
属性名 X1,Y1 X2,Y2 属性含义 设置或返回直线的起点坐标 设置或返回直线的终点坐标
BorderStyle
Visual Basic程序设计
12.2.3 MSChart控件
MSChart控件的主要属性有: ChartData:设置或返回一个值,该值确定一个矩阵的内容是否直 接加载到图表的数据格子中,或当图表要求数据时是否返回一个 矩阵。 ColumnCount:用于设置或返回数据网格的列数。 RowCount:用于设置或返回数据网格的行数。 Column:用于设置或返回数据网格的当前列。 Row:用于设置或返回数据网格的当前行。 Data:用于设置或返回数据网格中由Column和Row标识的指定数据 点的值。 ColumnLabel:设置或返回Column属性指定列的列标题。图表中每 一列都有默认的列标题,第i列的默认列标题为Ci。 RowLabel:设置或返回Row属性指定行的行标题。默认行标题为Ri。 ShowLegend:决定图表中是否显示图例。 ChartType:设置或返回数据网格中数据的图表类型。
第12章 图形操作
12.1 VB坐标系统
12.2 图形控件
12.3 图形方法
12.4 绘图应用
Visual Basic程序设计
12.1 VB坐标系统
在VB中,每个对象定位于存放它的容器,例如,窗体 处于屏幕内,屏幕是窗体的容器,在窗体内绘制控件, 窗体就是控件的容器。每个容器都有一个坐标系,它里 面的每一个点可用一对坐标(X,Y)表示,但采用的坐 标系统不同,同一绘图区域的坐标刻度范围以及同一位 置的坐标刻度X,Y也不一样。VB提供两类坐标系:默认 坐标系、自定义坐标系。
Visual Basic程序设计
12.2 图形控件
图形控件包括直线控件(Line )和形状控件(Shape ), 它们是VB提供的两种标准控件,利用它们可在窗体、图片框、 框架等绘图对象上快速直接地绘制各种简单的线条及形状。定 制控件MSChart可在窗体上绘制图表,支持真正的三维显示。 本节简单介绍这三个控件的使用。
相关文档
最新文档