VisualBasic实用教程 薛亮 第10章

上传人:E**** 文档编号:89351187 上传时间:2019-05-23 格式:PPT 页数:60 大小:792KB
返回 下载 相关 举报
VisualBasic实用教程  薛亮 第10章_第1页
第1页 / 共60页
VisualBasic实用教程  薛亮 第10章_第2页
第2页 / 共60页
VisualBasic实用教程  薛亮 第10章_第3页
第3页 / 共60页
VisualBasic实用教程  薛亮 第10章_第4页
第4页 / 共60页
VisualBasic实用教程  薛亮 第10章_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《VisualBasic实用教程 薛亮 第10章》由会员分享,可在线阅读,更多相关《VisualBasic实用教程 薛亮 第10章(60页珍藏版)》请在金锄头文库上搜索。

1、第10章 图 形 基 础,10.1 坐标系 10.2 绘图属性 10.3 图形控件 10.4 图形方法 习题十,10.1 坐 标 系,10.1.1 坐标系统 在Visual Basic中,每个对象定位于存放它的容器内,对象定位都要使用容器的坐标系。例如,窗体处于屏幕(Screen)内,屏幕是窗体的容器。在窗体内绘制对象,窗体就是容器。如果在框架内绘制控件,该框架就是容器。Visual Basic为对象的定位提供了Left、Top、Width和Height 4项属性,对象的Left和Top属性决定了该对象左上角在容器内的坐标位置,改变对象的Left和Top属性值时,对象在容器内的位置也随之改变。

2、Width和Height属性决定了该对象的大小,它们总是与容器的度量单位相同,如图10.1所示。,图10.1 对象在容器内的定位,每个容器都有一个坐标系。构成一个坐标系需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。容器坐标系的默认设置是:容器的左上角为坐标原点(0,0),横向向右为X轴的正向,纵向向下为Y轴的正向。坐标度量单位由容器对象的ScaleMode属性决定。ScaleMode属性设置如表10.1所示。,表10.1 容器对象的ScaleMode属性,ScaleMode属性缺省时为twip。每英寸1440个twip,20个twip为一磅(point)。这一度量单位规定的是对象打

3、印时的大小,屏幕上的实际物理距离可因监视器尺寸而异。表中除了0和3以外的所有模式都是指打印长度。例如,ScaleMode属性设置为7时,长为2个单位的项目,打印时为2 cm长。 设置ScaleMode属性的值会使Visual Basic重新定义对象坐标度量属性ScaleWidth和ScaleHeight,以便使它们与新刻度保持一致。无论采用哪一种坐标单位,缺省的坐标原点为对象的左上角,横向向右为X轴的正向,纵向向下为Y轴的正向。 例如,屏幕的左上角总是坐标原点(0,0)。屏幕坐标总是以twip为度量单位,窗体的缺省坐标系与屏幕相同,因而窗体的Top、Left、Width和Height 4 项属

4、性的单位也是twip。位于窗体之内的对象的坐标取决于窗体的坐标系。,10.1.2 自定义坐标系 对象的坐标系允许用户自行定义。通过对象的ScaleTop、ScaleLeft、ScaleWidth和ScaleHeight 4 项属性可改变窗体对象的坐标系。 1重定义坐标原点 属性ScaleTop、ScaleLeft的值用于控制对象左上角坐标,所有对象的ScaleTop、ScaleLeft属性的缺省值为0,坐标原点在对象的左上角。例如,窗体缺省坐标系的原点在窗体左上角。当ScaleTop设置成正数n时,表示将坐标系的X轴向Y轴的负方向平移n个单位;当ScaleTop设置成负数时(-n),表示将坐标

5、系的X轴沿Y轴的正方向平移n个单位。同样的原则,ScaleLeft的设置值可沿X轴向左或向右平移坐标系的Y轴,如图10.2所示。,2重定义坐标轴方向和度量单位 属性ScaleWidth、ScaleHeight的值可确定对象坐标系X轴与Y轴的正向及最大坐标值。缺省时其值均大于0,此时X轴的正向向右,Y轴的正向向下。X轴的度量单位为对象当前宽度的1/ScaleWidth,Y轴的度量单位为对象当前高度的1/ScaleHeight,对象右下角坐标值为(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)。,图10.2 几种重定义坐标原点的应用举例,10.2 绘 图 属

6、性,1当前坐标 窗体、图形框或打印机的CurrentX、CurrentY属性给出这些对象在绘图时的当前坐标。这两个属性在设计阶段不能使用。当坐标系确定后,坐标值(x,y)表示对象上的绝对坐标位置;如果坐标值前加上关键字Step,则坐标值(x,y)表示对象上的相对坐标位置,即在X轴与Y轴方向,从当前坐标分别平移(x,y)个单位,其绝对坐标值为(CurrentX+x,CurrentY+y)。,2线宽 窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。DrawWidth属性以像素(pixel)为单位来度量,最小值为1。 如果使用控件,则通过BorderWidth属性定

7、义线的宽度或点的大小。,3线型 窗体、图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。此处的线型仅当DrawWidth属性值为1时才能产生。当DrawWidth的值大于1且DrawStyle属性值为14时,都只能产生实线效果。当DrawWidth的值大于1,而DrawStyle属性值为6时,所画的内实线仅当是封闭线时起作用。 4填充 封闭图形的填充方式由FillStyle和FillColor这两个属性决定。FillStyle属性指定填充的图案,共有8种内部图案。FillColor指定填充图案的颜色,缺省的颜色与ForeColor相同。,5色彩 Visual Basic默认采用

8、对象的前景色(ForeColor属性)绘图,也可以通过颜色函数指定色彩。 (1) RGB函数。RGB函数通过红、绿、蓝三基色混合产生某种颜色,其语法格式为: RGB(红,绿,蓝) 括号中红、绿、蓝三基色的成份使用0255之间的整数。例如,RGB(0,0,0)返回黑色:而RGB(255,255,255)返回白色。从理论上来说,用三基色混合可产生256256256种颜色,但是实际使用时受到显示硬件的限制,普通VGA显示卡只能显示16种颜色。,(2) QBColor函数。QBColor函数采用Quick Basic所使用的16种颜色,其语法格式为: QBColor(颜色码) 颜色码使用015之间的整

9、数,每个颜色码代表一种颜色。 RGB函数与QBColor函数实际上都返回一个6位的十六进制的长整数。这个数从左到右,每两位一组代表一种基色,它们的顺序是红、绿、蓝。因而,我们也可以直接用6位的十六进制颜色代码表示颜色。在色彩的属性设置框中可以看到这些代码。常用色彩代码如表10.2所示。,表10.2 常用色彩代码,10.3 图 形 控 件,1图形框(PictureBox) 图形框(PictureBox)控件的主要作用是为用户显示图片,也可作为其它控件的容器。实际显示图片由Picture属性决定。Picture属性包括被显示的图片的文件名(及可选的路径名)。在程序运行时可以使用LoadPictur

10、e( )在图形框中装入图形。其格式为: 图形框对象.Picture=LoadPicture(图形文件) 为了在运行时从图形框中删除一个图形,可用LoadPicture(“)将一个空白图形装入图形框的Picture属性。,缺省时,加载到图形框中的图形保持其原始尺寸。这意味着如果图形比控件大,则超过的部分将被剪裁掉。图形框控件不提供滚动条。图形框控件不能伸展图像以适应控件尺寸,但可以用图形框的Autosize属性调整图形框大小以适应图像。当Autosize属性设置为True时,图形框能自动调整大小与显示的图片匹配;如果将Autosize属性设置为False,则图形框不能自动改变大小来适应其中的图形

11、。 图形框控件也可以用作其它控件的容器。像Frame控件一样,可以在图形框控件上面加上其它控件。这些控件随图形框的移动而移动,其Top和Left属性是相对于图形框而言的,与窗体无关。当图形框的大小改变时,这些控件在图形框的控件中的相对位置保持不变。,【例10-1】 使用PictureBox控件显示如图10.3所示的图片。 (1) 建立应用程序用户界面并设置对象属性。添加文件系统的三个控件以及一个PictureBox控件。,(2) 事件编程如下: 驱动器列表框的事件代码 Private Sub Drive1_Change( ) Dir1.Path=Drive1.Drive End Sub 文件列

12、表的事件代码 Private Sub Dir1_Change( ) File1.Path=Dir1.Path End Sub 文件的事件代码 Private Sub File1_Click( ) ChDrive Drive1.Drive ChDir Dir1.Path Picture1.Picture=LoadPicture(File1.FileName) End Sub,图10.3 图形显示结果,SavePicture 对象名.属性,文件名 说明: (1) 对象名为选定的图形框(PictureBox)或图像框(Image)的控件名。 (2) 属性为图形框或图像框内的图形属性,如picture

13、属性或Image属性。 (3)文件名为指定的带有扩展名 .BMP、.ICO、.GIF、.JPG、.DIB、.WMF、.EMF或 .ICO的文件。 SavePicture命令只支持BMP文件格式。此外,SavePicture命令保存控件中的整个图形,包括不显示部分。,【例10-2】 在用户界面上移动图片示例。 (1) 界面设计如图所10.4示。,图10.4 动画设计界面,(2) 界面控件属性设置如表10.3所示。,表10.3 属 性 设 置,(3) 程序编写如下: Option Explicit 声明变量 Dim scx As Single, scy As Single, sdx As Sing

14、le, sdy As Single 单击按钮事件 Private Sub cmdBegin_Click( ) imgIcon.Visible = True 使图像框可见 tmrClock.Enabled = True 时钟控件开始工作 End Sub 表单初始化,Private Sub Form_Load( ) scx = 50: scy = 75 sdx = 50: sdy = 50 imgIcon.Visible = False 使图像框不可见 tmrClock.Enabled = False 时钟控件不起作用 End Sub 时钟的Timer事件 Private Sub tmrClock

15、_Timer( ) imgIcon.Move imgIcon.Left + scx, imgIcon.Top + scy 若图像控件到达窗体右边界,改变scx值,使之向左移动 If imgIcon.Left + imgIcon.Width = ScaleWidth + ScaleLeft Then scx =-50, 若图像控件到达窗体左边界,改变scx值,使之向右移动 If imgIcon.Left = ScaleHeight + ScaleTop Then scy = -75 若图像控件到达窗体顶部边界,改变scy值,使之向下移动 If imgIcon.Top = 1000 Then sd

16、y = -50 If imgIcon.Width = 1000 Then sdx = -50 If imgIcon.Height = 200 Then sdy = 50 If imgIcon.Width = 200 Then sdx = 50 End Sub,(4) 运行结果如图10.5和10.6所示。,图10.5 某一时刻的动画运行结果(1),图10.6 某一时刻的动画运行结果(2),3画线工具 画线工具(Line)控件可以用来画线。画线操作的步骤如下: (1) 单击工具箱中的Line图标。 (2) 移动鼠标到要画线的起始位置。 (3) 按下鼠标左键并拖曳鼠标到要画线的结束处,放开鼠标左键。,4形状 形状(Shape)控件可以用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。画某一形状的几何图形的步骤如下: (1) 单击工具箱中的Shape图标。 (2) 在窗体内将鼠标移到要画图形的左上角位置。 (3) 按下鼠标左键并拖曳鼠标到要画图形结束处的右下角。 (4) 放开鼠标左键,屏幕

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

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

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