内容正文:
专题八 设计多媒体程序(讲义)
---《Visual Basic6.0项目教程》专题复习讲练测
[考纲要求]
1:掌握在窗体上绘制图形的相关方法
2:掌握图像框控件和图像控件的用法及区别
3:掌握播放音乐、动画和视频的方法
4:掌握QBColor函数
5:掌握创建用户控件的方法
[课时安排]
2课时
[知识梳理]
一:窗体坐标系
坐标是描述一个像素在屏幕上的位置或打印纸上的点的位置。窗体上的任何一个点可以使用X坐标和Y坐标表示。
窗体的ScaleMode属性主要用户指定坐标的度量单位。其属性值共有8个,分别是:
0:vbUser,用户定义坐标系
1:vbTwips,Twips(緹)
2:vbPoints,Points(点)
3:vbPixels,pixels(像素)
4:vbCharacters,字符数;宽120twips,高240twips
5:vbInches,英寸
6:vbMillimeters,毫米
7:vbCentimeters,厘米
自定义坐标系语法格式:
Scale (x1,y1)-(x2,y2)
(x1,y1):绘图区域左上角的坐标
(x2,y2):绘图区域右下角的坐标
Visual Basic设置坐标的方式有绝对坐标和相对坐标两种。
绝对坐标:是相对于原点(对象的左上角)的横向距离与纵向距离
相对坐标:是相对于最后参照点(在调用绘图方法后停留的位置)的横向距离与纵向距离。
在坐标前加Step表示相对坐标,有延续效果;不加Step表示绝对坐标。
二:PSet方法(画点)
PSet方法是在对象指定的地方画点的方法;语法格式如下:
对象·PSet [Step] (x,y),[颜色]
对象:画点的容器
Step:指定相对坐标还是绝对坐标
(x,y):必须参数,指定点的位置坐标
颜色:点的颜色
画点的大小取决于DrawWidth的属性值。当该属性大于1时,点的中心位于指定的坐标位置。
画点的方法取决于DrawMode属性和DrawStyle属性的设置
DrawMode属性:设定窗体上绘图(graphics 方法)、Shape、Line等控件的输出外观;有 16个值可选:
1 黑色
2 非或笔,设置值 15 的反相
3 与非笔,背景色以及画笔反相二者共有颜色的组合
4 非复制笔,设置值 13 的反相
5 与笔非,画笔以及显示色反相二者共有颜色的组合
6 反相,显示颜色反相
7 异或笔,画笔颜色以及显示颜色的异或
8 非与笔,设置值 9 的反相
9 与笔,画笔以及显示色二者共有颜色的组合
10 非异或笔,设置值 7 的反相
11 无操作,该设置实际上是不画图
12 或非笔,显示颜色与画笔颜色反相的组合
13 复制笔,用 ForeColor 属性指定的颜色,此为默认值
14 或笔非,画笔颜色与显示颜色反相的组合
15 或笔,画笔颜色与显示颜色的组合
16 白色
DrawStyle属性:设定绘图相关方法使用的直线样式;有7个值可选:
0 实线,此为默认值
1 虚线
2 点线
3 单点划线
4 双点划线
5 无线
6 内部实线
三:Line方法(画线、矩形)
Line方法用于在窗体或图像框中画直线和矩形,语法格式如下:
对象·Line [Step] (x1,y1) [Step] (x2,y2),[颜色],[B][F]
[Step]:第一个指定相对于当前绘图位置的起点坐标,第2个指定相对于直线起点的终点坐标
(x1,y1):指定直线或矩形的起点坐标
(x2,y2):指定直线或矩形的终点坐标
[颜色]:线的颜色
[B]:画矩形
[F]:矩形有填充色,默认前景色
使用Line方法画线时应注意以下几点:
①当画两条相连的直线时,前一条直线的终点就是后一条直线的起点
②线宽取决于DrawWidth属性值,取值范围为1~32767,默认为1像素
③在背景上画线和矩形的方法取决于DrawMode和DrawStyle属性值
④在执行Line方法时,将以线的终点坐标来设置CurrentX和CurrentY属性
四:Circle方法(画圆、椭圆、扇形)
Circle方法用于在对象上面绘制圆形、椭圆、扇形、弧线等;语法格式如下:
对象·Circle [Step] (x,y),半径,[颜色,起点,终点,纵横比]
Step:指定圆、椭圆、扇形、弧形的中心的相对坐标或绝对坐标
(x,y):中心的坐标
半径:指定圆、椭圆、扇形、弧形的半径
颜色:长整型取值范围,指定圆周的RGB颜色,省略后则使用窗体的ForeColor属性值
起点:指定画圆、椭圆、扇形、弧形时的起点,默认0,取值范围-2π`2π
终点:指定画圆、椭圆、扇形、弧形时的终点,默认2π,取值范围-2π`2π
纵横比:指定圆的纵横尺寸比,默认值1是标准圆;绝对值大于1时,当为正值时呈垂直椭圆且纵保持不变横随数字变大而变小,为负值时呈垂直椭圆且横保持不变,纵随着负值的变小而变大;绝对值小于1时,呈水平椭圆且随着值的变小纵值越来越小。
注意:
①若要填充圆或椭圆,应把所属对象的FillStyle属性值设置为除1以外的其他值,并设置FillColor属性即可。只有封闭图形才能填充。
②当画部分圆或椭圆时,如果参数起点为负数,则会画一条半径连接到起点指定的角度,并将该角度处理为正值。
③画圆、椭圆或弧时,线宽取决于DrawWidth属性值。
④当画角度为0的扇形时,需要画出一个半径,应给起点参数指定一个很小的负值,不要取0。
⑤在Circle方法中可以省略语法中的参数,但不能省略分隔参数的逗号,最后一个参数后的逗号除外。
⑥在执行Circle方法时,将以中心点坐标来设置CurrentX和CurrentY属性。
五:Line控件
Line控件是一个图形控件,用于在窗体上绘制水平线、垂直线或对角线。
即使将AutoRedraw属性设置为False,Line控件绘制的线也仍会保留在窗体上;程序运行时不能使用Move方法移动Line控件,但可以通过改变X1,X2,Y1,Y2属性值来移动它或调整它的大小。
Line控件常用的属性:
BorderStyle:返回或设置对象的边框样式。有0到6七个值,0表示透明,1表示实线,2表示虚线,3表示点线,4表示点画线,5表示双电画线,6表示内收实线。
设置BorderStyle属性的效果取决于BorderWidth属性的设置,如果BorderWidth属性值不是1,并且BorderStyle属性值不是0或6,则将BorderStyle属性值设置为1。
六:Shape控件
Shape控件是图形控件,可以显示矩形、正方形、椭圆、圆、圆角矩形或圆角正方形等。
Shape控件常用的属性是:
Shape:用于设置所显示的形状,有6个值可选;0表示矩形,1表示正方形,2表示椭圆,3表示圆,4表示圆角矩形,5表示圆角正方形。
FillColor:设置Shape控件的填充颜色
FillStyle:用于设置填充效果;有8个值可选;0表示实心,1表示透明,2表示水平线,3表示垂直线,4表示左上对角线,5表示右下对角线,6表示交叉线,7表示对角交叉线。
FillStyle属性填充效果图:
七:图像框控件
图像框控件(PictureBox)可以显示来自位图、图标或图元文件,以及来自增强的图元文件、JPEG或GIF文件的图形。
与窗体相同,图像框控件也是容器对象,可以在此控件中放置其他控件。
图像框控件常用属性及描述如下:
1:AutoRedraw:返回或设置从图形方法到之久图形的输出。
2:AutoSize:返回或设置一个值,决定控件是否自动改变大小以显示其全部内容。
3:Picture:返回或设置图像框控件中要显示的图像。
图像框控件常用的方法:
1:PaintPicture方法:在图像框控件上绘制图形文件。语法格式如下:
对象·PaintPicture 图像,X1,Y1,宽1,高1,X2,Y2,宽2,高2,位操作
图像:必要参数,图像源文件或路径
X1,Y1:绘制图像的坐标位置
宽1,高1:绘制图像的大小
X2,Y2:图像剪切的坐标
宽2,高2:图像剪切的大小
位操作:绘制时对图片执行的位操作
2:LoadPicture方法:用于将图像加载到图像控件、图像框控件或窗体等有Picture属性的对象中。语法格式如下:
对象·Picture=LoadPicture([含路径的文件名])
含路径的文件名:就是要加载的图像文件,若省略则是清除对象中的图像。
八:图像控件
图像(Image)控件是Visual Basic6.0提供的一种图像的控件,它可以从文件中装入并显示一下几种格式的图形:位图、图标、图元文件、增强型图元文件、JPEG和GIF文件。
图像控件常用的属性:
1:Picture:返回或设置控件中显示的图片
2:Stretch:指定图形是否需要调整大小,以适应图像控件的大小;True表示图形调整大小适应图像控件;False则是图像控件调整大小以适应图形。
3:Tag:返回或设置一个表达式,用来存储程序中需要的额外数据。该属性不被Visual Basic使用,可以使用该属性来标识对象。
图像控件常用的方法:
Move方法,移动控件的方法;语法格式如下:
对象·Move 左,顶,宽,高
左:移动到位置的左边距离
顶:移动到位置的顶边距离
宽:移动到位置后的宽
高:移动到位置后的高
九:ShockwaveFlash控件
ShockwaveFlash控件主要用来实现Flash动画的播放。
ShockwaveFlash控件常用属性:
1:Movie:指定要播放的Flash动画文件
2:TotalFrames:返回动画的总帧数
3:CurrentFrame:返回当前帧的编号
ShockwaveFlash控件常用方法:
1:Play:开始播放动画
2:Back:跳到动画的上一帧
3:Forward:跳到动画的下一帧
4:Rewind:返回动画的第一帧
5:Stop:暂停Flash动画的播放
十:Windows Media Player控件
媒体播放器控件即Windows Media Player控件。
媒体播放器控件常用属性:
1:URL:指定媒体文件的位置
2:enableContextMenu:设置是否显示播放位置的右键菜单
3:fullScreen:设置是否处于全屏显示状态
4:stretchToFit:设置在非全屏状态时是否伸展到最佳大小
5:uiMode:设置播放器的用户界面模式;有full,包含控制条模式和none只有播放部分而没有控制条
6:playState:返回当前控件状态,1表示已停止,2表示暂停,3表示正在播放
媒体播放器控件的主要对象:
Controls对象
利用Windows Media Player·controls的属性和方法可以对播放器进行控制并取得相关信息。
Controls·currentPosition属性:返回当前播放进度
Controls·currentPositionString属性:返回时间格式的字符串;如“0:31”
Controls·play方法:播放媒体
Controls·stop方法:停止播放
Controls·pause方法:暂停播放
currentMedia对象
利用Windows Media Player·currentMedia的属性可以取得当前媒体的信息。
currentMedia·duration属性:返回媒体的总长度
currentMedia·durationString:返回时间格式的字符串;如“5:28”
Settings对象
利用Windows Media Player·settings的属性可以对播放器进行设置,包括设置音量、左声道和右声道等。
Settings·volume属性:设置音量;取值范围0~100
Settings·balance属性:设置立体声的左声道和右声道的音量
十一:使用API函数创建音乐播放器
Visual Basic6.0的核心语言和控件没有直接提供播放声音文件的功能。如果想要在应用程序中播放各种声音文件,则可通过调用WindowsAPI函数中的mciSengString函数来实现。
mciSendString函数
该函数是一个DLL函数,它存储在Windows媒体库winmm.dll中。想要在程序中调用该函数,首先需要使用Declare语句对它进行声明,然后才可以使用。
Declare语句
Declare语句用于在模块级别中声明对DLL动态链接库中外部过程的引用。语法格式共有两种:
语法格式1:
[Public|Private] Declare sub name lib “libname” [Alias “aliasname”][([arglist])]
语法格式2:
[Public|Private] Declare Function name lib “libname” [Alias “aliasname”][([arglist])][As type]
Public:声明对所有模块中的所有其他过程都可以使用的过程
Private:声明只能在包含该声明的模块中使用的过程
Sub:该过程没有返回值
Funciton:该过程会返回一个可用于表达式的 值
Name:任何合法的过程名。动态链接库的入口处区分大小写,取名时应注意
Lib:指定包含所声明过程的动态链接库名或带代码资源。所有声明都需要使用Lib子句。
Alias:表示将被调用的过程在动态链接库中还有另外的名称
Aliasname:指定动态链接库或代码资源中的过程名。注意:如果首字符不是数字符号(#),则aliasname是动态链接库中该过程的入口处的名称;如果首字符是数字符号(#),则随后的字符必须指定该过程的入口处的顺序号
Arglist:表示当调用该过程时需要传递的参数的变量表
Type:指定Function过程返回值的数据类型。注意String类型的只支持变长类型
参数arglist的语法格式:
[Optional] [ByVal | ByRef] [ParamArray] varname[()] [As type]
Optional:表示参数不是必需的,若使用该参数项,则参数arglist中的后续参数都必须是可选的,而且必须都使用Optional关键字声明。若使用了ParamArray关键字,则任何参数都不能使用Optional关键字。
ByVal:表示参数按值传递
ByRef:表示参数按址传递,默认值
ParamArray:只用于arglist的最后一个参数,表示最后的参数是一个Variant类型的Optional的数组。该关键字不能与ByVal、ByRef或Optional关键字一起使用
Varname:表示传递给该过程的参数的变量名
():对数组变量是必需的,用于指明参数varname是一个数组
Type:用于指定传递给该过程的参数的数据类型
mciSendString函数常用的操作命令
Open:打开媒体设备
Close:关闭媒体设备
Play:播放媒体设备
Pause:暂停播放媒体文件
Stop:停止播放媒体文件
Seek:设置播放媒体文件
Set:设置媒体设备的状态
Status:确定媒体设备当前的状态
十二:创建用户控件
在Visual Basic中,除了使用固有的标准控件和现有的ActiveX控件,还可以创建用户控件。在工具箱窗口和工程资源管理器窗口中,用户控件使用图标表示,其文件扩展名为.ctl。
创建用户控件有以下3种模式:
①由零开始制作控件
②改进现有的控件
③把现有的几个控件组装成一个新的控件
十三:QBColor函数
QBColor函数能够选择16种颜色,使用方法格式:
QBColor(颜色代号)
QBColor函数能够选择的颜色表
代号
颜色
代号
颜色
代号
颜色
代号
颜色
0
黑色
4
暗红色
8
灰色
12
红色
1
暗蓝色
5
暗紫色
9
蓝色
13
紫色
2
暗绿色
6
暗黄色
10
绿色
14
黄色
3
暗青色
7
亮灰色
11
青色
15
白色
[真题练讲]
1:若要改变默认的坐标系,则设置( )即可。
A.ScaleMode B.ScaleStype C.Scale D.Stype
【答案】A
【解析】若要改变坐标系,需设置ScaleMode属性即可,改变坐标系并不影响控件大小。
2:Visual Basic设置坐标的方式有( )种。
A.0 B. 1 C. 2 D. 3
【答案】C
【解析】绝对坐标和相对坐标两种。
3:设置对象的前景色属性是( )。
A.BackColor B.ForeColor C. QBColor D.RGB
【答案】B
【解析】对象前景色属性是ForeColor。
4:若要在背景上画一条虚线,则要设置DrawStyle属性值为( )。
A.0 B. 1 C. 2 D. 3
【答案】B
【解析】DrawStyle属性:0 实线,此为默认值 、1 虚线、2 点线、3 单点划线、4 双点划线、5 无线、6 内部实线。
5:Shape图形控件的填充效果为垂直线时,需设置FillStyle属性值为( )。
A.1 B.2 C.3 D.4
【答案】C
【解析】FillStyle:用于设置填充效果;有8个值可选;0表示实心,1表示透明,2表示水平线,3表示垂直线,4表示左上对角线,5表示右下对角线,6表示交叉线,7表示对角交叉线。
[限时练习]
1:ShockwaveFlash控件中跳到动画的下一帧方法是( )。
A.Rewind B.Forward C.Backe D.Play
【答案】B
【解析】Forward方法是跳到动画的下一帧。
2:Move方法中必须的参数是( )。
A.left B.top C.width D.height
【答案】A
【解析】left是必须参数。
3:图像框控件的( )属性,可决定控件是否自动改变大小以显示全部内容。
A.AutoRedraw B.AutoSize C.Stretch D.Picture
【答案】B
【解析】图像框控件的AutoSize属性,可决定控件是否自动改变大小以显示全部内容。
4:图像控件的( )属性,可决定控件是否自动改变大小以显示全部内容。
A.AutoRedraw B.AutoSize C.Stretch D.Picture
【答案】C
【解析】图像控件的Stretch属性,可决定控件是否自动改变大小以显示全部内容。
5:当Shape控件的shape属性为( )时,表示圆角矩形。
A.1 B.2 C.3 D.4
【答案】D
【解析】Shape:用于设置所显示的形状,有6个值可选;0表示矩形,1表示正方形,2表示椭圆,3表示圆,4表示圆角矩形,5表示圆角正方形。
6:若要使媒体播放器全屏显示,可设置( )属性。
A.fullScreen B.stretchToFit C.uiMode D.enableContextMenu
【答案】A
【解析】fullScreen设置是否处于全屏显示状态。
7:Windows API函数mciSendString函数中可以使用( )命令来暂停播放媒体文件。
A.Pause B.Stop C.Seek D.Close
【答案】A
【解析】Pause命令可暂停播放媒体文件。
8:声明和调用API函数的语句是( )。
A. Declare B. Dim C. Type D. Public
【答案】A
【解析】Declare语句用于在模块级别中声明对DLL动态链接库中外部过程的引用。
9:(名词解释)绝对坐标
【答案】绝对坐标是相对于原点的横向距离与纵向距离。
10:(名词解释)相对坐标
【答案】相对坐标是相对于最后参照点的横向距离与纵向距离。
11:(名词解释)图像框控件
【答案】指可以显示来自位图、图标或图元文件,以及来自增强的图元文件、JPEG或GIF文件的图形。
12:(判断题)Line控件的BorderStyle属性为1时,表示绘制虚线。
【答案】×
【解析】Line控件的BorderStyle属性为1时,表示绘制实线,为2时表示绘制虚线。
13:(判断题)在使用Circle方法画圆时,半径不能为负值。
【答案】√
【解析】绘制图形时半径不能为负值。
14:(简答题)简述创建用户控件的模式有哪些?
【答案】创建用户控件有以下3种模式:
①由零开始制作控件
②改进现有的控件
③把现有的几个控件组成一个新的控件
15:简述Windows API函数mciSendString函数的操作命令有哪些?至少写出5个
【答案】①Open:打开媒体设备②Close关闭媒体设备③Play播放媒体设备④Pause暂停播放媒体设备⑤Stop停止播放媒体文件⑥Seek设置播放位置⑦Set设置媒体设备的状态⑧Status确定媒体设备当前的状态。
16:(编程题)编写一个程序,每单击一次鼠标使Shape控件在窗体上显示不同的形状图形。
【答案】
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static a As Integer
Shape1.Shape = a
If Button = 1 Then
Shape1.Shape = a
a = a + 1
If a > 5 Then
a = 0
End If
End If
End Sub
[归纳小结]
1:本专题介绍了多媒体控件的使用方法;
2:重点是多媒体控件的属性和方法的应用,注意不同控件有对应的事件;
3:掌握多媒体控件的基本操作;
4:要求必须熟练掌握该节内容的知识点及概念,该节内容可根据学生掌握的情况适当延长课时,做到让学生彻底掌握和理解本节知识点。
学科网(北京)股份有限公司
$$