1、主要内容主要内容绘制图形(点)绘制图形(直线和矩形)绘制圆、椭圆、弧线 图片框和图像框 多媒体控件API应用 1.1图像浏览器案例说明图像浏览器案例说明 本案例是模拟夜晚的星空,呈现出本案例是模拟夜晚的星空,呈现出“繁星满天繁星满天”的样子。程序运行之后会显示如图的样子。程序运行之后会显示如图9-1所示的图所示的图形。形。用黑色背景的窗体模拟用黑色背景的窗体模拟“夜晚的天空夜晚的天空”,在,在“夜夜晚的天空晚的天空”上会有一个个出现在不同位置上的上会有一个个出现在不同位置上的“星星星星”。这些。这些“星星星星”都是通过都是通过VB的程序语的程序语句绘制的一个个句绘制的一个个“小点小点”。本案例
2、的主要任务。本案例的主要任务就是通过形象有趣的案例来掌握就是通过形象有趣的案例来掌握PSet方法实现方法实现点的绘制。点的绘制。1.2 程序实现程序实现 1.界面设计:界面设计:新建一个工程文件,在窗体上添加一个时钟控件,其界面新建一个工程文件,在窗体上添加一个时钟控件,其界面设计如图设计如图9-2所示。按表所示。按表9-1设置各个控件的属性。设置各个控件的属性。2.代码设计:代码设计:1.3 相关知识相关知识 1.VB中的坐标系统:设置坐标系统的目的在于确定容器中的坐标系统:设置坐标系统的目的在于确定容器(容器是指其内部可以包含其他对象的对象,如窗体、(容器是指其内部可以包含其他对象的对象,
3、如窗体、框架、图片框等)中点的位置,坐标包括框架、图片框等)中点的位置,坐标包括“横坐标横坐标”(x轴)和轴)和“纵坐标纵坐标”(y轴),轴),x值是指点与原点的水值是指点与原点的水平距离,平距离,y值是指点与原点的垂直距离。值是指点与原点的垂直距离。2.默认坐标系统和度量单位:从容器的左上角作为原点默认坐标系统和度量单位:从容器的左上角作为原点(0,0)坐标的,且在默认状态下,坐标是以)坐标的,且在默认状态下,坐标是以twips(缇)为度量单位的。(缇)为度量单位的。1.3 相关知识相关知识 3.用户自定义坐标系统用户自定义坐标系统:使用使用ScaleLeft、ScaleTop、ScaleH
4、eight和和ScaleWidth属性设置坐标系统属性设置坐标系统需要设置窗体左上角坐标为(需要设置窗体左上角坐标为(20,20),而右下角的坐标值为(),而右下角的坐标值为(60,60):):Form1.ScaleTop20Form1.ScaleLeft20Form1.ScaleHeight40Form1.ScaleWidth40 右下角的坐标与左上角、高度及宽度的关系为:右下角的坐标与左上角、高度及宽度的关系为:右下角的右下角的x坐标坐标ScaleLeftScaleWidth 右下角的右下角的y坐标坐标ScaleTopScaleHeight1.3 相关知识相关知识 使用使用Scale方法定
5、义坐标系统:方法定义坐标系统:对象名对象名.Scale(x1,y1)(x2,y2)颜色的引用:颜色的引用:(1)RGB函数函数(2)QBColor函数函数(3)使用颜色的内部常数)使用颜色的内部常数(4)直接输入一种颜色值)直接输入一种颜色值 1.3 相关知识相关知识 5.PSet函数实现点的绘制函数实现点的绘制 对象名对象名.PSet Step(x,y),Color 2.1绘制直线和矩形案例说明绘制直线和矩形案例说明在窗体上有三个命令按钮,分别是在窗体上有三个命令按钮,分别是“绘制直线绘制直线”、“绘制矩形绘制矩形”和和“绘制三角形绘制三角形”。单击某个按。单击某个按钮,则在窗体上绘制相应的
6、图形。通过本案例钮,则在窗体上绘制相应的图形。通过本案例来介绍来介绍VB中如何绘制直线和举行等图形。中如何绘制直线和举行等图形。2.2 程序实现程序实现1.界面设计:新建一个工程文件,在窗体上放置三个按界面设计:新建一个工程文件,在窗体上放置三个按钮控件钮控件 2.代码设计:代码设计:2.3 相关知识相关知识1.绘制直线绘制直线 绘制直线有两种方法可以实现,绘制直线有两种方法可以实现,一是采用直线控件(一是采用直线控件(Line)二是采用二是采用Line方法:方法:对象对象.Line Step(x1,y1)-Step(x2,y2),Color 返回返回2.3 相关知识相关知识 2.绘制矩形绘制
7、矩形使用使用Line方法绘制矩形,可以用绘制直线的办法依次画方法绘制矩形,可以用绘制直线的办法依次画出矩形的出矩形的4条边。也可以通过指定矩形的左上角和右条边。也可以通过指定矩形的左上角和右下角坐标完成绘制过程。下角坐标完成绘制过程。对象对象.Line Step(x1,y1)-Step(x2,y2),Color,BF 参数参数B表示要画一个矩形,表示要画一个矩形,F选项规定矩形以矩形边框的选项规定矩形以矩形边框的颜色填充,省略时绘制空心矩形颜色填充,省略时绘制空心矩形。FillStyle属性以不同的风格填充矩形。属性以不同的风格填充矩形。FillStyle属性的属性的取值如表取值如表9-9所示
8、。所示。返回返回3.1圆的制作案例说明圆的制作案例说明 本案例演示如何绘制圆形图案。在窗体上放置本案例演示如何绘制圆形图案。在窗体上放置3个按个按钮,分别是钮,分别是“画圆画圆”、“画椭圆画椭圆”和和“画弧线画弧线”,如,如图图9-10所示。,当按下所示。,当按下“画圆画圆”按钮时,在窗体上以按钮时,在窗体上以随机颜色和随机半径画圆图随机颜色和随机半径画圆图9-11,多次单击该按钮则,多次单击该按钮则会有许多不同颜色和大小的同心圆显示在窗体上;当会有许多不同颜色和大小的同心圆显示在窗体上;当按下按下“画椭圆画椭圆”时,会在窗体上显示如图时,会在窗体上显示如图9-12所示的所示的椭圆;当按下椭圆
9、;当按下“画弧线画弧线”时,会在窗体上显示如图时,会在窗体上显示如图9-13所示的图形。所示的图形。3.2 程序实现程序实现 1.界面设计界面设计在窗体上放置在窗体上放置3个按钮,按钮的标题属性分别设置成图个按钮,按钮的标题属性分别设置成图9-10所示,窗体的所示,窗体的DrawWidth属性设置为属性设置为3,可以确定所,可以确定所画线的宽度;其他属性取默认值。画线的宽度;其他属性取默认值。2.代码设计:代码设计:3.3 相关知识相关知识1.圆的绘制圆的绘制使用使用Circle方法绘制圆是最简单的用法。格式如下:方法绘制圆是最简单的用法。格式如下:对象对象.Circle Step(x,y),
10、radius,Color2.椭圆的绘制椭圆的绘制使用使用Circle方法可以绘制椭圆。绘制椭圆与圆相比多一方法可以绘制椭圆。绘制椭圆与圆相比多一个个“纵横比纵横比”参数,格式如下:参数,格式如下:对象对象.Circle Step(x,y),radius,Color,纵横比纵横比 3.弧线的绘制弧线的绘制:圆周的一部分就是圆弧。采用:圆周的一部分就是圆弧。采用Circle方方法可以绘制圆弧,需加上起始角和终止角即可。法可以绘制圆弧,需加上起始角和终止角即可。对象对象.Circle Step(x,y),radius,Color,起始角起始角,终止角终止角 4.1图片浏览案例说明图片浏览案例说明用户
11、在电脑上选择一幅图片,可以在右边的图片用户在电脑上选择一幅图片,可以在右边的图片框中显示出来;如果图片超出了图片框的大小,框中显示出来;如果图片超出了图片框的大小,则可以通过水平和垂直滚动条的拖动来显示图则可以通过水平和垂直滚动条的拖动来显示图片超出范围的其余细节。片超出范围的其余细节。4.2 程序实现程序实现 1.界面设计:界面设计:在窗体上添加两个图片框在窗体上添加两个图片框Picture1和和Picture2,驱动器,驱动器列表框控件列表框控件Drive1、目录列表框控件、目录列表框控件Dir1、文件列表框、文件列表框控件控件File1、水平滚动条控件、水平滚动条控件HSroll1、垂直
12、滚动条控件、垂直滚动条控件VSroll1。2.代码设计:代码设计:4.3 相关知识相关知识1.图片框控件图片框控件图片框图片框(PictureBox)通常用于显示位图、图标、通常用于显示位图、图标、JPEG文件等,图片框的属性有文件等,图片框的属性有BackColor、DrawWidth、DrawStyle、ForeColor、FillStyle、FillColor、ScaleMode等,等,5.1图像框应用案例说明图像框应用案例说明该程序可以在图像框中加载图片。当按下该程序可以在图像框中加载图片。当按下“true”按钮按钮时,图像可以拉伸以适应图像框的大小(如图时,图像可以拉伸以适应图像框的
13、大小(如图9-15),),当按下当按下“false”按钮时图像会恢复本来的大小(如图按钮时图像会恢复本来的大小(如图9-16)。)。5.2 程序实现程序实现 1.界面设计:界面设计:新建一个工程文件,在窗体上添加一个图像框和两个按新建一个工程文件,在窗体上添加一个图像框和两个按钮,各控件属性设置见下表钮,各控件属性设置见下表9-13。2.代码设计:代码设计:5.3 相关知识相关知识 1.图像框控件和图片框控件的区别图像框控件和图片框控件的区别(1)图像框控件占用的系统资源比图片框少而且重新)图像框控件占用的系统资源比图片框少而且重新绘图速度快,所以为了节省内存,一般尽量使用图像绘图速度快,所以
14、为了节省内存,一般尽量使用图像框。框。(2)图片框控件可以作为容器包含其他控件,并)图片框控件可以作为容器包含其他控件,并且控件从属于图片框,而图像框虽然也可以作为控件且控件从属于图片框,而图像框虽然也可以作为控件的容器,但是图像框和控件的关系是独立的,控件不的容器,但是图像框和控件的关系是独立的,控件不从属于图像框。从属于图像框。(3)两种控件都支持相同的图片格式,但图像框)两种控件都支持相同的图片格式,但图像框控件中可以伸展图片的大小使之适合控件的大小,而控件中可以伸展图片的大小使之适合控件的大小,而图片框控件中不能这样做。图片框控件中不能这样做。5.4制作动画拓展知识制作动画拓展知识 当
15、按下开始按钮时,界面上的小人开始跑动,当按下当按下开始按钮时,界面上的小人开始跑动,当按下停止按钮时跑动的小人会定格在界面上,并且该程序停止按钮时跑动的小人会定格在界面上,并且该程序可以通过水平滚动条控制小人跑动的速度。事实上,可以通过水平滚动条控制小人跑动的速度。事实上,该程序是在窗体上放置了该程序是在窗体上放置了8个图像框控件,并且每个控个图像框控件,并且每个控件中装载一张图片,除第一个图像框件中装载一张图片,除第一个图像框Visible属性可见属性可见外,其余图像框的外,其余图像框的Visible属性均设置为不可见。当按属性均设置为不可见。当按下开始按钮时,启动时钟控件,将其余七个图像框
16、中下开始按钮时,启动时钟控件,将其余七个图像框中的图像放置到第一个图像框中,并且使用图像框的的图像放置到第一个图像框中,并且使用图像框的move方法实现第一个图像框的移动,达到动作连贯的方法实现第一个图像框的移动,达到动作连贯的动画效果。动画效果。返回返回6.1多媒体播放器案例说明多媒体播放器案例说明利用利用VB中的多媒体控件制作一个简单的多媒体中的多媒体控件制作一个简单的多媒体播放器。用户可以从驱动器列表和目录列表中播放器。用户可以从驱动器列表和目录列表中选择文件,并允许用户选择文件的类型。当用选择文件,并允许用户选择文件的类型。当用户点击文件列表框中的文件时,即会开始播放户点击文件列表框中
17、的文件时,即会开始播放选中的文件。选中的文件。6.2 程序实现程序实现 1.界面设计:界面设计:新建一个工程文件,在窗体上添加框架控件、驱动器列新建一个工程文件,在窗体上添加框架控件、驱动器列表框、目录列表框、文件列表框、标签、组合框,各表框、目录列表框、文件列表框、标签、组合框,各1个。个。单击单击“工程工程”菜单中的菜单中的“部件部件”命令,在命令,在“控件控件”选项选项卡中找到卡中找到“Microsoft Multimedia Control 6.0”并单击并单击其右边的复选框,此时在其右边的复选框,此时在“工具箱工具箱”中新增了一个中新增了一个Multimedia MCI多媒体控件。多
18、媒体控件。2.代码设计:代码设计:6.3 相关知识相关知识 1.MMControl多媒体控件的添加多媒体控件的添加 VB提供了多种可实现多媒体播放的控件,提供了多种可实现多媒体播放的控件,Animation控件、控件、Multimedia控件、控件、ActiveMovie控件控件 MediaPlayer控件控件 Multimedia MCI多媒体控件等。多媒体控件等。6.3 相关知识相关知识 2.Multimedia MCI控件常用的属性控件常用的属性(1)ButtonEnabled属性属性 (2)ButtonVisible属性属性 (3)DeviceType属性属性 (4)FileName属
19、性属性 (5)Notify属性属性 (6)Orientation属性属性 (7)Wait属性属性 6.3 相关知识相关知识 3.Multimedia MCI控件的常用命令控件的常用命令 见表见表9-167.1 API实现播放器案例说明实现播放器案例说明采用采用API函数实现一个多媒体播放器,该多媒体函数实现一个多媒体播放器,该多媒体播放器依靠播放器依靠API函数来实现各类多媒体文件的函数来实现各类多媒体文件的播放播放 7.2 程序实现程序实现 1.界面设计:界面设计:新建一个工程文件,在窗体上添加新建一个工程文件,在窗体上添加1个驱动器列表框、个驱动器列表框、1个目录列表框、个目录列表框、1个
20、文件列表框、个文件列表框、1个组合框、个组合框、4个命令个命令按钮以及按钮以及3个标签控件,调整这些控件的位置和大小,并个标签控件,调整这些控件的位置和大小,并设置控件的属性,设置控件的属性,2.代码设计:代码设计:单击菜单栏中单击菜单栏中“工程工程”菜单的菜单的“添加模块添加模块”命令项,弹命令项,弹出出“添加模块添加模块”对话框,如图对话框,如图9-23所示。单击所示。单击“新建新建”选项卡中的选项卡中的“打开打开”按钮,在标准模块中写入以下代码:按钮,在标准模块中写入以下代码:Public Declare Function mciExecute Lib winmm.dll(ByVal l
21、pstrCommand As String)As Long7.3 相关知识相关知识 1.API函数简介函数简介“Win32 API”的全称是的全称是“Windows Application Programming Interface”,是一些由操作系统自身调,是一些由操作系统自身调用的函数。用的函数。API函数由许多函数由许多“动态连接库动态连接库”(Dynamic-Link Library,简称,简称DLL)组成,在)组成,在32位位Windows中,核心的中,核心的API DLL有:有:Gdi32.dll:图形显示界面的:图形显示界面的API;Kernel32.dll:处理低级任务(比如内
22、存和任务管理):处理低级任务(比如内存和任务管理)的的API;User32.dll:处理窗口和消息的:处理窗口和消息的API;Winmm.dll:处理多媒体任务的:处理多媒体任务的API,多媒体编程中主,多媒体编程中主要使用的要使用的API函数就在这个连接库中。函数就在这个连接库中。7.3 相关知识相关知识 2.API函数的说明函数的说明在在VB程序中使用程序中使用Win32 API函数,需要遵循以下两个步函数,需要遵循以下两个步骤:骤:(1)声明即将使用的)声明即将使用的Win32 API函数;函数;(2)像使用)像使用VB任何其他函数一样使用这些已经声明的任何其他函数一样使用这些已经声明的API函数。函数。在在VB程序中声明程序中声明API函数的一般格式为:函数的一般格式为:Declare Function Lib Alias (ByVal 参数参数1 As 类型类型,ByVal 参数参数2 As 类型类型)