第八章绘图(2学时) 、教学内容 本章讨论如何在VB6.0中编写图形应用程序 二、目的要求 通过对本章的学习,使学生理解VB中坐标系的概念;掌握用Line控件、 Shape 控件画直线、矩形、圆(弧)、椭圆的方法;掌握图片框、图象框的常用属性、 常用方法、图片的载入及应用;掌握用Pset方法、Line方法、 Circle方法画点、 矩形、圆(弧)、椭圆的方法 三、教学重点与难点 教学重点:WB中坐标系,绘图方法的使用 教学难点:容器控件的坐标,及用户自定义坐标系。 四、教学方法 课堂教学为主。适当提问,加深学生对概念的理解。 五、教学过程 8.1坐标系统 8.1.1标准系统 坐标系三要素:坐标原点、坐标度量单位、坐标轴的长度与方向。 坐标度量单位由容器对象的 ScaleMode属性决定。缺省时为Twip。每英寸 1440个Twip,20个Twip为一磅 窗体、图片框容器的缺省坐标系统 网区 Height Scalene
第八章 绘 图 (2 学时) 一、教学内容 本章讨论如何在 VB6.0 中编写图形应用程序 二、目的要求 通过对本章的学习,使学生理解VB中坐标系的概念;掌握用 Line控件、Shape 控件画直线、矩形、圆(弧)、椭圆的方法;掌握图片框、图象框的常用属性、 常用方法、图片的载入及应用;掌握用 Pset 方法、Line 方法、Circle 方法画点、 矩形、圆(弧)、椭圆的方法; 三、教学重点与难点 教学重点: VB 中坐标系,绘图方法的使用 教学难点:容器控件的坐标,及用户自定义坐标系。 四、教学方法 课堂教学为主。适当提问,加深学生对概念的理解。 五、教学过程 8.1 坐标系统 8.1.1 标准系统 坐标系三要素:坐标原点、坐标度量单位、坐标轴的长度与方向。 坐标度量单位由容器对象的 ScaleMode 属性决定。缺省时为 Twip。每英寸 1440 个 Twip,20 个 Twip 为一磅
在ⅦB中规定,用 Scalemode属性设置绘图长度的单位而且只能设置8种规 格,用 Scalex或 Scaley语句可对不同的单位进行相互转换。其格式如下: 1, object ]scalex (width[, fromscale][, toscale]) 2、[ object.] scaley( width[, fromscale][,“”]) 1式为不同单位横坐标之间的转换,2式为不同单位纵坐标之间的转换 “ ob ject”是 ScaleMode方法的对象,缺省时指窗体 “ width”时横坐标数值 “ fromscale”是坐标的原始单位 “ toscale”是坐标值转换后的单位 8.1.2自定义坐标系统 在ⅦB种可以通过设置 ScaleMode属性来建立新的坐标系统。建立的新的坐 标系统称为自定义系统。 用户可用 ScaleMode属性设置坐标系统的刻度单位。 ScaleMode属性的取值 及含义见Pg173表8.1所示。 1、定义新的坐标系统格式如下 [对象.] scaleleft=x [对象.] Scaletop=y 其中,X是距离对象左边界的距离,Y是距离对象顶部的距离。如果省略“对 象”,则在窗体内设置坐标原点,有了原点还必须有“刻度”,即水平方向、垂 直方向的设置值,这样才能确定一个点的位置,建立起坐标系统。 【例8.1】 Scaleleft=100 Scaletop=50 以上两条语句,将坐标原点定义在了(100,50) 2、水平方向、垂直方向的刻度属性分别由 Scalewidth, Scaleheight属性来 设置,其格式如下: [对象.] Scalewidth=宽度
在 VB 中规定,用 ScaleMode 属性设置绘图长度的单位而且只能设置 8 种规 格,用 Scalex 或 Scaley 语句可对不同的单位进行相互转换。其格式如下: 1、[object.]scalex(width[,fromscale][,toscale]) 2、[object.]scaley(width[,fromscale][,“”]) 1 式为不同单位横坐标之间的转换,2 式为不同单位纵坐标之间的转换 “object”是 ScaleMode 方法的对象,缺省时指窗体 “width”时横坐标数值 “fromscale”是坐标的原始单位 “toscale”是坐标值转换后的单位 8.1.2 自定义坐标系统 在 VB 种可以通过设置 ScaleMode 属性来建立新的坐标系统。建立的新的坐 标系统称为自定义系统。 用户可用 ScaleMode 属性设置坐标系统的刻度单位。ScaleMode 属性的取值 及含义见 Pg173 表 8.1 所示。 1、定义新的坐标系统格式如下: [对象.]scaleleft=x [对象.]Scaletop=y 其中,X 是距离对象左边界的距离,Y 是距离对象顶部的距离。如果省略“对 象”,则在窗体内设置坐标原点,有了原点还必须有“刻度”,即水平方向、垂 直方向的设置值,这样才能确定一个点的位置,建立起坐标系统。 【例 8.1】 Scaleleft=100 Scaletop=50 以上两条语句,将坐标原点定义在了(100,50) 2、水平方向、垂直方向的刻度属性分别由 Scalewidth,Scaleheight 属性来 设置,其格式如下: [对象.] Scalewidth=宽度
[对象.] Scaleheight=高度 说明: (1)当设置容器对象(例如,窗体或图片框)的 Scalemode属性值>0,将 使容器对象的 Scaleleft和 Scaletop自动设置为0, Scaleheight和 ScaleWidth的度量单位也将发生改变。 (2)用 ScaleMode属性只能改变刻度单位,不能改变坐标原点及坐标轴的 方向。 (3)四个属性的值可以是正值也可以是负值 【例8.2】将窗体的坐标系统的原点定义在其中心,X轴的正向向右,Y轴 的正向向上,窗体高与宽分别为200和300单位长度。 通过 Scaletop, Scaleleft, Scalewidth和 Scaleheight属性实现。 Forml. Scaleleft =-150 Forml. ScaleTop 100 Forml ScaleWidth 300 Forml ScaleHeight =-200 网回图 (100,-150) (,0) (-100,150) 3、可以用 Scale语句定义新坐标,其格式如下 [对象.] Scale(X1,Y1)-(X2,Y2) (XL,Y1)为对象左上角在新坐标系中的坐标值。(X2,Y2)为对象右下角在新 坐标系中的坐标值 4、大小设置格式如下: [对象.] Width
[对象.] Scaleheight =高度 说明: (1)当设置容器对象(例如,窗体或图片框)的 ScaleMode 属性值>0,将 使容器对象的 ScaleLeft 和 ScaleTop 自动设置为 0,ScaleHeight 和 ScaleWidth 的度量单位也将发生改变。 (2)用 ScaleMode 属性只能改变刻度单位,不能改变坐标原点及坐标轴的 方向。 (3)四个属性的值可以是正值也可以是负值。 【例 8.2】将窗体的坐标系统的原点定义在其中心,X 轴的正向向右,Y 轴 的正向向上,窗体高与宽分别为 200 和 300 单位长度。 通过 ScaleTop,ScaleLeft,ScaleWidth 和 ScaleHeight 属性实现。 Form1.ScaleLeft = -150 Form1.ScaleTop = 100 Form1.ScaleWidth = 300 Form1.ScaleHeight = -200 3、可以用 Scale 语句定义新坐标,其格式如下: [对象.] Scale(X1,Y1)-(X2,Y2) (X1,Y1) 为对象左上角在新坐标系中的坐标值。(X2,Y2)为对象右下角在新 坐标系中的坐标值。 4、大小设置格式如下: [对象.]Width
[对象.] Height 【例8.3】 command1. width+200 Commandl height+100 以上两条语句将使命令按钮在水平方向上增加宽度200,在垂直方向上增加 高度 8.2形状控件和直线控件 8.2.1形状控件 Shape 使用 Shape控件可在窗体、框架或图片框中创建矩形、正方形、椭圆形、圆 形、圆角矩形或圆角正方形等图形 Shape控件预定义形状是由 Shape属性的取值决定的 口区 ○○□ 0 2 3 5 图8.1 Shape属性取不同值对应的形状 1.填充方式—— Fillstyle属性 下图是形状控件的 Fillstyle属性设置为08时的填充效果 Fi1sty1e属性 □区 日蔑 图8.2 说明 (1) Fillstyle为0是实填充,1为透明方式。填充图案的颜色由 Fillcolor 属性来决定
[对象.]Height 【例 8.3】command1.width+200 Command1.height+100 以上两条语句将使命令按钮在水平方向上增加宽度 200,在垂直方向上增加 高度 100。 8.2 形状控件和直线控件 8.2.1 形状控件 Shape 使用 Shape 控件可在窗体、框架或图片框中创建矩形、正方形、椭圆形、圆 形、圆角矩形或圆角正方形等图形。 Shape 控件预定义形状是由 Shape 属性的取值决定的。 图 8.1 Shape 属性取不同值对应的形状 1.填充方式 ——FillStyle 属性 下图是形状控件的 FillStyle 属性设置为 0~8 时的填充效果 图 8.2 说明: (1)FillStyle 为 0 是实填充,1 为透明方式。填充图案的颜色由 FillColor 属性来决定
(2)对于窗体和图片框对象, Fillstyle属性设置后,并不能看到其填充效果, 而只能在使用 Circle和Line图形方法生成的圆和方框时,在圆和方框中显示 其填充效果。 8.2.2线控件Line 1. Boder Styie属性 该属性用来确定直线的线型,属性值为0-—6,分别表示为以下线型 属性值 透明 0123456 实线 虚线 点线 点划线 双点划线 内实线 2.line常用属性 8.3绘图方法 8.3.1清屏与画点 1、清屏 格式:[对象.]CLS 作用:清除控件中所有的图形。若省略对象,则表示清除窗体 2、画点 格式:[对象.]Pset[Step](x,y)[,颜色] 作用:在指定的位置上用指定的颜色画一个点。 说明 1、X、Y是单精度值。缺省时以TWIP为单位
(2)对于窗体和图片框对象,Fillstyle 属性设置后,并不能看到其填充效果, 而只能在使用 Circle 和 Line 图形方法生成的圆和方框时,在圆和方框中显示 其填充效果。 8.2.2 线控件 Line 1.BoderStyie 属性 该属性用来确定直线的线型,属性值为 0—6,分别表示为以下线型: 2.line 常用属性 8.3 绘图方法 8.3.1 清屏与画点 1、清屏 格式:[对象.]CLS 作用:清除控件中所有的图形。若省略对象,则表示清除窗体 2、画点 格式:[对象.]Pset[Step](x,y)[,颜色] 作用:在指定的位置上用指定的颜色画一个点。 说明: 1、X、Y 是单精度值。缺省时以 TWIP 为单位。 属性值 说 明 0 透明 1 实线 2 虚线 3 点线 4 点划线 5 双点划线 6 内实线