第13章.ppt

大学VISUAL BASIC程序设计教程-课件PPT

收藏

资源目录
跳过导航链接。
大学VISUALBASIC程序设计教程-课件PPT.zip
VISUAL BASIC程序设计教程-PPT演示文稿
VISUAL BASIC程序设计教程-PPT课件文件
VISUAL BASIC程序设计教程-大学教学资料
(课件资料)VISUAL BASIC程序设计教程
压缩包内文档预览:(预览前20页/共27页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836467    类型:共享资源    大小:5.82MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学VISUAL BASIC程序设计教程-课件PPT 大学 visual basic 程序设计 教程 课件 ppt
资源描述:
大学VISUAL BASIC程序设计教程-课件PPT,大学VISUAL,BASIC程序设计教程-课件PPT,大学,visual,basic,程序设计,教程,课件,ppt
内容简介:
13.1 调用Windows API,13.2 编写多媒体应用程序,第13章 VB与多媒体,退出,13.1 调用Windows API,13.1.1 用API Viewer查看API,3.1.2 程序语句,返回,退出,13.1.3 使用 API函数实例,13.1.1 用API Viewer查看API,用API Viewer查看API函数和常量的方法如下: (1)单击VB程序组中的“API 文本浏览器”启动API Viewer。 (2)从“File”菜单中选择“加载文本文件”菜单项,打开“选择一个文本API文件”对话框,选择文件“Win32api.txt” 。 (3)在文本框中输入要搜索的API函数或常量、类型的开始几个字母,就会在“可用项”中显示查找到相应的内容。 (4)单击“Add”按钮,在最下面的文本框中就显示出VB声明,单击“复制”按钮将其复制到剪贴板中,随后粘贴到用户工程代码中。,图13-1 包含API函数信息的文本文件,图13-2 API浏览器,13.1.2 API函数声明,可以直接将上述复制到剪贴板中的内容粘贴到VB工程代码中声明API函数,也可以直接键入API函数声明。请看如下实例: Declare Function OpenFile Lib “kernel32“ Alias “OpenFile“ (ByVal lpFileName As String,_ lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long 其中: Declare:关键字,表明要声明个外部过程。 Function:表明声明的是一个外部函数。如果为Sub,则为外部过程。 OpenFile:要声明的外部过程的函数名。 Lib:关键字,表明函数位于下面的DLL库中。 “kernel32“:是DLL的库名,必须用引号括起来。 Alias:关键字,表明可以用紧跟其后的别名“OpenFile“来调用此函数。 OFSTRUCT:为参数lpReOpenBuff的数据类型。 其他部分的说明同一般的函数过程。,13.1.3 使用 API函数实例,例13-1:制作永远在其他窗口之上的窗口。 第一步:新建一个工程,设工程名为MyAPI1,该工程包含3个窗体,名称分别为Form1、Form2和APIform,一个标准模块,名称为APIModule。 第二步:在API浏览器中查找SetWindowPos函数,并将其函数声明文本复制到标准模块APIModule中: Public Declare Function SetWindowPos Lib “user32“ (ByVal hwnd As Long, ByVal_ hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As_ Long, ByVal wFlags As Long) As Long 第三步:在主窗体的代码窗口加上如下代码: Const SWP_NOMOVE = 2 不更新窗口位置 Const SWP_NOSIZE = 1 不更新窗口大小 Const HWND_TOPMOST = -1 窗口放在所有窗口顶部 Const HWND_NOTOPMOST = -2 窗口不能放在所有窗口顶部 Private Sub Form_Load() APIForm.Show Form2.Show SetWindowPos APIForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE_ + SWP_NOSIZE End Sub,图13-3 程序运行实例,例13-2:生成特殊形状的窗口。 在上述程序的标准模块中加上如下函数声明: Public Declare Function CreateEllipticRgn Lib “gdi32“ (ByVal X1 As Long, ByVal Y1 As_ Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Public Declare Function CreateRoundRectRgn Lib “gdi32“ (ByVal X1 As Long, ByVal Y1_ As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long Public Declare Function SetWindowRgn Lib “user32“ (ByVal hWnd As Long, ByVal hRgn_ As Long, ByVal bRedraw As Boolean) As Long Form1窗体的单击事件代码为: Private Sub Form_Click() SetWindowRgn hWnd, CreateEllipticRgn(10, 20, 500, 400), TURE End Sub Form1窗体的双击事件代码为: Private Sub Form_DblClick() SetWindowRgn hWnd, CreateRoundRectRgn(10, 20, 500, 400, 200, 200), TURE End Sub,图13-4 椭圆形窗体 图13-5 带圆角矩形窗体,例13-3:在VB应用程序中启动或关闭计算机。 利用API的ExitWindowsEx函数可以方便地在VB应用程序中启动或关闭计算机。 在标准模块部分加上ExitWindowsEx函数声明: Public Declare Function ExitWindowsEx Lib “user32“ (ByVal uFlags As Long, ByVal_ dwReserved As Long) As Long 其中: uFlags:指示执行ExitWindowsEx函数要执行的动作,这些动作由一个或几个如下常数的组合来决定,这些常数在窗体的声明部分声明: Const EWX_LOGOFF(=0) 强制终止所有进程,退出登录 Const EWX_SHUTDOWN(=1) 安全地关闭计算机 Const EWX_REBOOT(=2) 重新启动计算机 Const EWX_FOREC(=4) 终止所有进程 Const EWX_POWEROFF(=8) 关闭计算机,如果计算机支持节电特性,关闭电源 重新启动计算机的常数组合为0+1+2,关闭计算机的常数组合为0+1+4+8。 dwReserved:控制是否保留当前窗体状态。 在应用程序需要重新启动计算机或关闭计算机的位置加上调用ExitWindowsEx函数的代码: ExitWindowsEx 3, dwReserved 重新启动计算机 或 ExitWindowsEx 13, dwReserved 关闭计算机,13.2 编写多媒体应用程序,13.2.1 Multimedia MCI 控件,13.2.2 MCI 命令,13.2.3 用多媒体控件编程,13.2.4 使用API多媒体函数,13.2.5 多媒体播放器对象的嵌入,13.2.1 Multimedia MCI 控件,1 .添加Multimedia MCI 控件 Multimedia MCI 控件管理媒体控制接口 (MCI) 设备上的多媒体文件的记录与回放。从概念上说,这种控件就是一组按钮,它被用来向诸如声卡、MIDI 序列发生器、CD-ROM 驱动器、视频 CD 播放器和视频磁带记录器及播放器等设备发出 MCI 命令。MCI 控件还支持 Windows (*.avi) 视频文件的回放。 要将Multimedia MCI 控件添加到窗体上,应在“部件”对话框中选择“Microsoft Multimedia Control 6.0”,以便在工具箱中添加Multimedia 控件按钮,然后在窗体上绘制Multimedia 控件。,图13-6 Multimedia 控件,2. 常见多媒体设备,表13-1 常见多媒体设备类别,3. Multimedia 控件的主要属性和事件,表13-2 Multimedia 控件的主要属性,表13-2 Multimedia 控件的主要属性,13.2.2 MCI 命令,表13-3常用的 MCI 命令,13.2.3 用多媒体控件编程,用多媒体控件编程的一般步骤为:,(1)用Multimedia MCI 控件的DeviceType属性指定多媒体设备的类别;,(2)涉及到媒体文件时,用Filename属性指定文件;,(3)用Command属性的Open值打开媒体设备;,(4)用Command属性其他值控制媒体设备;,(5)对特殊键(如Pause键)进行编程;,(6)用Command属性的Close值关闭媒体设备。,例13-4:利用Multimedia MCI 控件的多媒体功能制作一个简单的视频播放器。当单击“打开”按钮后,从“打开文件”对话框中选择要播放的文件,然后利用Multimedia MCI 控件进行播放。 (1)界面设计 在Form1窗体上添加一个Multimedia MCI 控件MMControl1,一个Slider控件Slider1,一个Toolbar控件Toolbar1,一个CommonDialog控件CommonDialog1和一个Picture控件Picture1。 (2)编写代码 1)编写Form_Load事件代码 Private Sub Form_Load() With MMControl1 .hWndDisplay = Picture1.hWnd 将Picture1设置为视频回放的界面 .Notify = True 将Notify属性设置为 True ,以便在Done事件中处理错误信息 .Wait = False 将Wait属性设置为 False ,采用非阻塞方式传递MCI命令 End With End Sub 2)编写MMControl1_ Done事件代码 在MMControl1_ Done事件中显示错误信息,必要时也可以加入其他代码。 Private Sub MMControl1_Done(NotifyCode As Integer) With MMControl1 If .Error 0 Then MsgBox “Error #“ & Error & “ & .ErrorMessage End If End With End Sub,3)编写Form_Resize事件代码 由于并不是所有的媒体都需要Picture1控件来显示,故在适当的时候应将Picture1控件隐藏,为此,编写如下代码: Private Sub Form_Resize() If MMControl1.UsesWindows And MMControl1.DeviceID 0 Then 根据UsesWindows属性判断是否需要视频回放窗体 Form1.Height = Form1.Height - Form1.ScaleHeight + Picture1.Top + Picture1.Height + 1000 显示Picture1控件 Else Form1.Height = Form1.Height - Form1.ScaleHeight + Picture1.Top 不显示Picture1控件 End If End Sub,4)编写Toolbar1_ButtonClick事件代码 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next Select Case Button.Key Case “TOpen“ 单击“打开”按钮 With CommonDialog1 .CancelError = True .ShowOpen 显示文件对话框 If .FileName “ Then MMControl1.FileName = .FileName MMControl1.Command = “Open“ Slider1.Max = MMControl1.Length Slider1.SmallChange = 1 Slider1.LargeChange = Slider1.Max / 5 End If Form_Resize End With Case “TClose“ 单击“关闭”按钮 If MMControl1.Mode = mciModeNotOpen Then 当设备没有打开时 MMControl1.Command = “stop“ MMControl1.Command = “close“ Form_Resize End If End Select End Sub,5)编写MMControl1_StatusUpdate事件代码 在MMControl1_StatusUpdate事件过程中,设置Slider1控件的滑杆位置。 Private Sub MMControl1_StatusUpdate() With MMControl1 If .DeviceID 0 Then If Slider1.Value .Position Then Slider1.Value = .Position End If End With End Sub 6)编写 Form_Unload代码 在关闭MCI设备前,必须显式地使用stop停止MCI设备。 Private Sub Form_Unload(Cancel As Integer) Form1.MMControl1.Command = “stop“ Form1.MMControl1.Command = “close“ End Sub,图13-7 运行实例,例13-5 用MMControl1控件制作一个简单的录音机 (1)界面设计 (2)编写代码 1)编写Toolbar1_ButtonClick事件代码 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next Select Case Button.Key Case “TNew“ 单击“新建”按钮 With CommonDialog1 .CancelError = True .Filter = “WaveFile(*.wav)|*.wav“ .ShowSave If .FileName “ Then UpdateRecord 调用UpdateRecord过程 MMControl1.RecordMode = mciRecordOverwrite 录音模式为覆盖模式 MMControl1.FileName = .FileName If Dir(.FileName) = “ Then 如果没有指定文件名则建立新文件名 MMControl1.DeviceType = “waveaudio“ MMControl1.Command = “new“ End If MMControl1.Command = “open“ 打开设备准备录音 End If End With Case “btnSave“ If MMControl1.Mode mciModeNotOpen Then MMControl1.Command = “save“ 设备已经打开,发出保存命令 End If End Select End Sub,2)编写UpdateRecord过程代码 UpdateRecord过程用于在设备正在工作时,停止工作并保存文件,然后关闭设备以保证后续工作。 Private Sub UpdateRecord() With MMControl1 If .Mode mciModeNotOpen Then .Command = “stop“ .Command = “save“ .Command = “close“ End If End With End Sub 3)编写Form_Load过程代码 Private Sub Form_Load() UpdateRecord End Sub,4)编写MMControl1_StatusUpdate过程 MMControl1_StatusUpdate过程用于更新Label1和Label2。 Private Sub MMControl1_StatusUpdate() Label1 = “位置:“ + Chr(13) + Chr(10) Label1 = Label1 & Format$(MMControl1.Position / 1000, “0.00“) + “秒“ Label2 = “长度:“ + Chr(13) + Chr(10) Label2 = Label2 & Format$(MMControl1.Length / 1000, “0.00“) + “秒“ End Sub 5)编写Form_Unload过程 Private Sub Form_Unload(Cancel As Integer) Form1.MMControl1.Command = “stop“ Form1.MMControl1.Command = “close“ End Sub 程序运行实例参见图13-8。,图13-8 运行实例,13.2.4 使用API多媒体函数,开发复杂的多媒体应用程序时,需要使用到高级的MCI命令,如用sysinfo命令得到设备的安装名称。这时,使用Windows 中Winmm.dll动态链接程序提供的100多个处理多媒体的API函数来查询和控制MCI设备就会得心应手。适合VB使用的API函数主要有mciExecute()、mciSendCommand()、mciSendString()和mciGetErrorString()等。,例13-6 利用mciExecute()函数制作CD播放器。 (1)界面设计 (2)编写代码 Private Sub Form_Load() 初始化各按钮状态 Toolbar1.Buttons(1).Enabled = True : Toolbar1.Buttons(2).Enabled = False Toolbar1.Buttons(3).Enabled = False : Toolbar1.Buttons(4).Enabled = False Toolbar1.Buttons(5).Enabled = False :Toolbar1.Buttons(6).Enabled = True End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case “TOpen“ 单击“打开”按钮 mciExecute “Open Cdaudio Alias cd“ 打开媒体设备 Toolbar1.Buttons(1).Enabled = False :Toolbar1.Buttons(2).Enabled = True Toolbar1.Buttons(3).Enabled = False : Toolbar1.Buttons(4).Enabled = False Toolbar1.Buttons(5).Enabled = False PlayCD 调用PlayCD过程开始播放 Case “TPlay“ 单击“播放”按钮 PlayCD 调用PlayCD过程开始播放 Case “TPause“ 单击“暂停”按钮 mciExecute “Stop cd“ 暂停播放 Toolbar1.Buttons(2).Enabled = True : Toolbar1.Buttons(3).Enabled = False Toolbar1.Buttons(4).Enabled = True : Toolbar1.Buttons(5).Enabled = True,Case “TBack“ 单击“倒带”按钮 mciExecute “Seek cd To Start“ 移动到起始位置 Toolbar1.Buttons(1).Enabled = False : Toolbar1.Buttons(2).Enabled = True Toolbar1.Buttons(3).Enabled = False : Toolbar1.Buttons(4).Enabled = False Toolbar1.Buttons(5).Enabled = True : Case “TOpenDoor“ 单击“弹碟”按钮
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学VISUAL BASIC程序设计教程-课件PPT
链接地址:https://www.renrendoc.com/p-21836467.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!