图形操作与多文档窗体

上传人:san****019 文档编号:70833255 上传时间:2019-01-18 格式:PPT 页数:38 大小:1,009.01KB
返回 下载 相关 举报
图形操作与多文档窗体_第1页
第1页 / 共38页
图形操作与多文档窗体_第2页
第2页 / 共38页
图形操作与多文档窗体_第3页
第3页 / 共38页
图形操作与多文档窗体_第4页
第4页 / 共38页
图形操作与多文档窗体_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《图形操作与多文档窗体》由会员分享,可在线阅读,更多相关《图形操作与多文档窗体(38页珍藏版)》请在金锄头文库上搜索。

1、,6.1 绘图板,6.2 电子相册,6.3 知识进阶,第六章 图形操作与多文档窗体,本章要点,常用的作图方法 图形控件 多文档窗体的使用,1、项目界面展示,6.1 绘图板,2、项目分析,本项目实例主要运用了VB6.0的Line、Circle、Pset方法来画出各种图形。并用两个标签的背景色来标明当前绘图区域的前景色和填充色,单击标签时弹出颜色对话框,来选择前景色和填充色。利用3 个组合框设置“线型”、“线宽”、“填充样式”。,6.1 绘图板,3、项目实现,程序界面的设计 界面对象属性设置 编写对象事件过程代码,6.1 绘图板,4、相关知识点,4.1坐标系统概述,每个容器都有一个坐标系,构成一个

2、坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。,6.1 绘图板,包括5个属性(ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight、ScaleMode) 1个方法(Scale) ScaleTop、ScaleLeft属性用于控制容器对象左边和顶端的坐标,根据这两个属性值可形成坐标原点。,一、使用默认的刻度,4、相关知识点,6.1 绘图板,坐标度量单位由容器对象的ScaleMode属性决定。缺省时为Twip。每英寸1440个Twip,20个Twip为一磅。,4、相关知识点,6.1 绘图板,二、自定义坐标系,4、相关知识点,6.1 绘图板,(1)语法

3、格式: 对象名.Scale (x1,y1)-(x2,y2),(2) 重定义坐标原点及坐标轴方向和度量单位 属性ScaleTop,ScaleLeft的值用于控制对象左上角坐标; 属性ScaleWidth,ScaleHeight的值可确定对象坐标系X轴与Y轴的正向及最大坐标值。 如果ScaleWidth的值小于0,则X轴的正向向左,如果ScaleHeight的值小于0,则Y轴的正向向上。,Y,X,ScaleWidth=n ScaleHeight=m Scaleletf=0 ScaleTop=0,0,(n,m),Y,X,ScaleWidth=n ScaleHeight=-m Scaleletf=0

4、ScaleTop=0,0,(n,-m),1.用AutoRedraw创建持久的图形,每个窗体和图片框都具有AutoRedraw属性。 (1)当AutoRedraw为默认值False时,VB会把图形输出到屏幕,而不输出到内存。 (2)当AutoRedraw为True时,VB会把图形输出并保存在内存中。,注意:运行时,只有当AutoRedraw为True时,才可以用Cls方法清除。,4.2使用Visual Basic作图,4、相关知识点,6.1 绘图板,2、使用CurrentX、CurrentY设置当前坐标 (1)窗体或图形框或打印机的CurrentX、CurrentY属性给出这些对象在绘图时的当前

5、坐标。 (2)在调用与绘图有关的方法时,CurrentX与CurrentY的值会自动改变。 变化情况如下: Pset方法:当前坐标用来指向画出的点。 Line方法:当前坐标指向画出线的终点。 Circle方法:当前坐标指向画出圆形的中心。 Cls:当前坐标指向坐标原点。 (3)使用CLS方法后,CurrentX、CurrentY属性值为0。,4、相关知识点,6.1 绘图板,3、用DrawWidth和DrawStyle属性设置 线宽与线型 窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位来度量,最小值为1。 例6.2 用Draw

6、Width属性改变直线宽度。,4、相关知识点,6.1 绘图板,窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。,注意:只有当DrawWidth设置为1时,DrawStyle属性才会产生如上图所示的各种效果。,4、相关知识点,6.1 绘图板,4、填充与色彩 由Fillstyle、Fillcolor这两个属性决定封闭图形的填充方式。 (1)Fillcolor指定填充图案的颜色,默认的颜色与Forecolor相同。 (2)FillStyle属性取值07,用来指定填充的图案,共有8种内部图案。,注意:如果FillStyle设置为1(透明),则忽略FillColor属性,但For

7、m对象除外。,4、相关知识点,6.1 绘图板,4、相关知识点,三个重点内容(方法),点、线、圆,6.1 绘图板,1、画点(Pset方法),例:1.Pset(500,1000),RGB(255,0,0) 2.Pset(500,1000),BackColor 擦除该点,格式:对象.Pset (x,y),Color,参数说明: (X,Y):确定画点的位置 单精度,可以是常量或变量和表达式 Color:设置点的颜色 缺省时,点的颜色为ForeColor,4、相关知识点,6.1 绘图板,2、项目实例实现 (演示),For i = -180 To 180 Step 0.01 Picture1.PSet (

8、i/50, 5 * Sin(i * 3.14/180) Next i,4、相关知识点,用点画正弦曲线,6.1 绘图板,直线格式: 对象. LineStep(x1,y1)-Step(x2,y2),Color,参数说明: (X1,Y1):画线的起点, 省略:当前坐标为起始坐标。 (X2,Y2):直线的终点 Color:设置直线的颜色 缺省时,为ForeColor Step:表示后面的坐标相对于当前坐标的偏移量,4、相关知识点,2、画线(line方法),6.1 绘图板,举例: Private Sub Command1_Click() Line (1000, 1000)-(2000, 2000) Li

9、ne -(300, 3000) Picture1.Line (100, 500)-Step(2000, 2000) Picture1.Line (1500, 1500)-Step(200, 200), vbBlue End Sub,如何改变直线的 粗细和线型?,DrawWidth属性: 指定线的宽度(以磅为单位)。 DrawStyle属性: 指定线型。,4、相关知识点,6.1 绘图板,矩形格式: 对象. LineStep(x1,y1)-Step(x2,y2),Color,BF,参数说明: (X1,Y1):矩形的左上角点, 省略:当前坐标的为起始坐标, (X2,Y2):矩形的右下角点 B:表示画

10、一个矩形; F:表示画一个实心的矩形,这时忽略 Fillcolor和FillStyle属性,注意: 有B参数才能使用F,例1: Private Sub Command1_Click() Line (500, 500)-Step(1000, 0) Line -Step(0, 1000) Line -Step(-1000, 0) Line -Step(0, -1000) Line (500, 500)-Step(1000, 1000), , BF End Sub,4、相关知识点,6.1 绘图板,怎样在窗体上绘制一幅颜色、大小各不相同的彩环?,效果如图,4、相关知识点,6.1 绘图板,格式: 对象.

11、 CircleStep(x,y),半径,Color,起始角 ,终止角,纵横比,参数说明:,起始角和终止角:取值在0 时为圆弧。 如果起始角的绝对值大于终止角的绝对值,则画一个角度大于180的圆弧;如果为负数,则画出扇形。,3、画圆(circle方法),4、相关知识点,6.1 绘图板,4、相关知识点,6.1 绘图板,Private Sub Command1_Click() X = Form1.Width Y = Form1.Height For I = 1 To 10 R = Rnd * Y * 0.1 Circle (X * Rnd, Y * Rnd), R, QBColor(I) Next

12、I End Sub,(3)画圆代码实现(演示),4、相关知识点,6.1 绘图板,4、相关知识点,4.3鼠标事件,6.1 绘图板,4、相关知识点,4.3鼠标事件,利用鼠标事件完成简单的绘图板,6.1 绘图板,4、相关知识点,4.3鼠标事件,Private Sub Form_MouseDown(Button As Integer, Shift AsInteger,X As Single,Y As Single) CurrentX = X CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer,Shift As Intege

13、r,X As Single,Y As Single) If Button = 1 Then Line -(X,Y) End Sub,绘图板的代码,6.1 绘图板,6.2 电子相册,1、项目目标,本项目实例主要任务是设计完成“休闲娱乐”中的“电子相册”界面,单击“新建”菜单,打开一个通用对话框,选择一个图片文件后,产生一个新的子窗体,并在子窗体上显示图片;通过选择“层叠”、“平铺”、“排列”菜单会使打开的多个子窗口进行相应方式的排列。,6.2 电子相册,2、项目分析,本项目实例主要运用了VB6.0的MDI窗体的相关知识。在窗体上添加菜单栏,然后建立一个子窗体作为模板,并按相应模式排列窗体。,6.

14、2 电子相册,3、项目实现,1.程序界面设计和属性设置,(1)建立MDI窗体。选择“工程”“添加MDI窗体”。添加一个MDI窗体,新建的MDI窗体名称为“MDIForm1”,Caption属性为“相册”。 (2)在MDI窗体中添加菜单栏,4个菜单项分别为“新建”、“层叠”、“平铺”、“排列”。 (3)在工程中添加新窗体Form14,设置Form14的Caption属性为“相册”,MDIChild属性为“True”。,6.2 电子相册,3、项目实现,2.编写对象事件过程代码,6.2 电子相册,4、相关知识,多文档界面(Multiple Document Interface,即MDI)与多重窗体不

15、是一个概念。多重窗体程序中的各个窗体是彼此独立的。MDI虽然也可以含有多个窗体,但它有一个父窗体,其他窗体(子窗体)都在父窗体内。,1、什么是多文档界面?,6.2 电子相册,4、相关知识,2、多文档界面有如下特性:,(1)所有子窗体均显示在MDI窗体的工作区中。用户可改变、移动子窗体的大小,但被限制在MDI窗体中。 (2)当最小化子窗体时,它的图标显示于MDI窗体上而不是在任务栏中。当最小化MDI窗体时,所有的子窗体也被最小化,只有MDI窗体图标出现在任务栏中。 (3)当最大化一个子窗体时,它的标题与MDI窗体的标题一起显示在MDI窗体的标题栏上。 (4)MDI窗体和子窗体都可以有各自的菜单,

16、当子窗体加载时覆盖MDI窗体的菜单。,6.2 电子相册,4、相关知识,3、创建和设计MDI窗体及其子窗体 开发多文档界面的一个应用程序至少需要两个窗体:一个(只能一个)MDI窗体和一个(或若干个)子窗体。在不同窗体中共用的过程、变量应存放在标准模块中。,添加MDI窗体 选择“工程”菜单中的“添加MDI窗体”命令,然后从相应的对话框中选择“MDI窗体”,再单击“打开”按钮。这样就添加了一个MDI窗体。,6.2 电子相册,对子窗体或子窗体图标的层叠、平铺和排列图标命令通常也放在“窗口菜单上,用Arrange方法来实现。Arrange方法的语法形式如下: 排列方式取值如下: 0-vbCascade:层叠所有非最小化MDI子窗体。 1-vbTileHorizontal:水平平铺所有非最小化MDI子窗体。 2-vbTileVertical:垂直平铺所有非最小化MDI子窗体。 3-vb

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号