MFC多媒体播放器实验设计报告_第1页
MFC多媒体播放器实验设计报告_第2页
MFC多媒体播放器实验设计报告_第3页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计设计报告题目:多媒体播放器程序的设计与实现学号:20085926姓名:张一波学院:信息科学与技术学院专业班级:计算机软件08-03 班指导教师:黄文培设计时间:2010年 11 月指导老师评语:评定成绩 :签名:日期:目 录1概述 .31.1课程设计目的 .31.2设计任务与要求 .31.3开发环境 .32系统设计的基本概念与原理 .42.1基本概念与知识 .42.2系统设计实现的基本原理与过程 .73系统的总体设计与分析 .93.1系统功能设计 .93.2系统架构设计 .103.3子系统与模块设计 .114系统详细设计与实现 .135系统调试与运行 .165.1系统安装与部署 .16

2、5.2系统运行与测试 .176课程设计总结 .281 概述1.1 课程设计目的利用此次课程设计,进一步熟悉C+语言,熟悉 VisualStudio相关的开发环境,结合 Windows Media Player ActiveX控件的使用,进一步学习体会MFC使用与制作逐渐培养学生的编程能力、用计算机解决实际问题的能力。1.2 设计任务与要求目的:利用 VC+开发一个支持mp3、wma、wmv、 avi 、mpg 等不同音频、视频格式的多媒体播放器。通过课程设计掌握多媒体编程的基本原理。任务:1)编程实现一个可支持多种音视频格式的多媒体播放器,其基本功能包括媒体播放、音量调节、播放进度选择、暂停、

3、停止以及歌曲信息的查询与添加等;2)给出程序的总体设计和详细设计,要求程序总体架构图、 详细设计的流程图,函数、变量说明等3)给出程序运行、测试的详细结果。1.3 开发环境开发工具: Microsoft Visual C+ 6.0开发语言: C+运行支持环境:硬件环境: CPU 1.0G以上内存 256M以上硬盘 20G以上操作系统: Microsoft Windows 2000, XP,VISTA,Windows 72 系统设计的基本概念与原理2.1 基本概念与知识2.1.1 MFCMFC(Microsoft Foundation Classes),是一个微软公司提供的类库(classlib

4、raries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。 其中包含的类包含大量 Windows句柄封装类和很多 Windows的内建控件和组件的封装类。2.1.2 MFC 编程特点微软基础类 (Microsoft Foundation Classes),是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎, VC+是WinDOS下开发人员使用的专业 C+ SDK(SDK,Standard SoftWare Develop Kit ,专业软件开发平台 ) ,MFC就是挂在它之上的一个辅助软件开发包。MFC是 Win API 与

5、C+的结合, API,即微软提供的 Windows下应用程序的编程语言接口,是一种软件编程的规范, 但不是一种程序开发语言本身, 可以允许用户使用各种各样的第三方的编程语言来进行对 Windows下应用程序的开发,使这些被开发出来的应用程序能在 Windows下运行,因此用它们开发出来的应用程序都能工作在 Windows的消息机制和绘图里,遵守 Windows作为一个操作系统的内部实现, MFC是微软对 API函数的专用 C+封装,这种结合一方面让用户使用微软的专业 C+ SDK来进行 Windows下应用程序的开发变得容易,因为 MFC是对 API的封装,微软做了大量的工作,隐藏了好多程序开

6、发人员在 Windows下用 C+ & MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图等。2.1.3 MFC 通用控件控件是一种特定类型的输入、 输出窗口。它是利用对话框编辑器通过交互操作来创建的,通过控件 ID与程序相连并调用。 MFC通用控件具有属性、方法和事件三种基本元素。下面是在 MP3播放器的实现中所用到的基本控件:静态文本控件( Static Text),一种单向交互的控件,用于显示数据,但不接受输入;编辑框控件( Edit Box),一个可以从键盘输入和编辑的窗口,在编辑框控件中可以进行输入、复制、剪切、粘贴和删除等操作;列表框控件( List Box

7、),显示了一个可选择的列表,可以通过列表框来查看或选择数据项,而且列表的项数是灵活多变的, 当列表框中的项数较多时可以激活滚动条来显示;组合框控件( Combo Box),结合了编辑框和列表框的特点,既可以进行输入,也可以在列表框组成部分选择一项;按钮控件( Button ),可以接受用户的命令,通过单击或双击来执行某一命令;滚动条控件( Scroll Bar ),用于滚动显示超出窗口范围的文本或图像;滑块控件( Slider ),用于让用户选择一定范围内的数值,选择可以通过鼠标拖动,也可以通过键盘上的按钮选择数值。2.1.4 Windows Media Player控件简介Microsoft

8、 Windows Media Player为数字音频和视频提供了出色的播放效果。使用 Windows Media Player软件开发工具包(SDK) ,可以扩展独立Player的功能,并将播放功能嵌入到自己的应用程序中。可以将 Player嵌入 Web 应用程序或基于Microsoft Windows的应用程序中。WindowsMedia Player具有模块化体系结构,可以只使用所需的部分。尤其是,用户界面与音频和视频内容的播放功能相互独立。可以使用其播放功能, 并可决定在应用程序中是使用Player的现有用户界面,还是创建自己的用户界面。Windows Media Player提供了外观

9、功能,您可以使用该功能创建个性化的Player外观,也可以基于Player创建截然不同的功能。还可以创建插件来扩展Player的主要功能,方法是向用户界面添加新的交互式控件,在 Player呈现音频或视频数据前对其进行修改,然后在Windows Media文件中呈现非标准数据流。创建 Player应用程序Windows Media Player 包括用于呈现视频和音频的 Microsoft ActiveX? 控件。该控件可在任何运行 Windows Media Player 的计算机上获得。 Windows Media Player 是一种独立的技术, 此外,它还包括一个 ActiveX 控件

10、形式的组件对象模型 (COM) 服务器( Player与 ActiveX控件之间的关系相当于MicrosoftInternet Explorer与其所提供的 WebBrowser ActiveX控件之间的关系)。有两种方法可用于创建使用Windows Media Player ActiveX控件的应用程序。您可以在 Web 应用程序中使用该控件, 也可以在基于 Windows 的应用程序中使用它。要在 Web 应用程序中使用Windows Media Player ,应在页面的超文本标记语言(HTML) 中包含一个 OBJECT 元素。并在 OBJECT 元素中包含嵌套的 PARAM元素,以指

11、定 Windows Media Player ActiveX 控件是否可见、包含哪些操作按钮以及该控件的其他属性。 通过包含多个 OBJECT 元素,可在一个 Web页面中包含多个控件。要完全控制嵌入的 Player ,可以在页面的 HTML 中编写脚本代码。要在基于 Windows 的应用程序中使用 Windows Media Player ,可以包含一个对服务于该控件的动态链接库 (DLL) 的引用。例如,在 Microsoft Visual Basic? 中,使用 Components(组件)对话框设置一个对“ WindowsMedia Player ”(这是 Wmp.dll 文件中库的

12、助记名称)的引用。如何设置控件属性取决于所用的编程环境。例如,在 Visual Basic 中,使用自定义 Properties (属性)对话框在设计时设置属性。也可以通过编写代码设置或读取属性以及在运行时调用方法。最终用户可在任何安装了 Windows Media Player 的基于 Windows 的计算机上运行该应用程序。 他们可以通过已经熟悉 (或由您创建) 的用户界面收听音频或观看视频。企业程序员可以简单地使用Player提供的播放功能,并将精力集中在应用程序的特定业务需要上用户界面插件Windows Media Player为最终用户提供了各种信息和功能。但是,您可能需要提供自定

13、义交互或自定义数据。使用用户界面插件可完成此项工作。Windows Media Player的完整模式由许多区域组成,如Now Playing (正在播放)功能和播放列表窗格。 某些区域在默认状态下不可见,但最终用户可将其显示为可见。这些区域包括显示在Now Playing (正在播放)功能底部的设置区域,以及显示在播放列表上方的元数据区域。用户界面插件分五种类型。 其中三种类型显示在Player的不同区域中。 在每个区域中,每次只能启用一个插件。1、显示插件。这些插件占据Now Playing (正在播放)功能中的可视化效果显示区域。由于该区域通常很大,因此比较适合显示大量数据或复杂的交互控

14、件集。2、设置插件。这些插件位于Now Playing (正在播放)功能中可视化效果显示区域的下面。该区域包含图形均衡器、 视频设置和其他用于配置播放或WindowsMedia Player外观的控件。设置插件比较适合添加相似的自定义功能,并使最终用户能够配置Player的外观或行为。3、元数据插件。这些插件位于播放列表上方的一个小区域。它们比较适合显示曲目、唱片集或播放列表的确切信息,同时也适用于简单控件或超链接。例如,Windows Media Player包含一个元数据插件,它显示的封面图形是一个指向有关当前播放的唱片集和音乐家的更多信息的链接。有两类用户界面插件在Windows Med

15、ia Player窗口中不显示。1、窗口插件。这些插件占用一个单独的窗口。它们比较适合显示信息或向最终用户提供从 Now Playing (正在播放)功能切换到其他功能或加载其他插件时始终存在的交互操作。2、背景插件。这些插件没有图形界面(除非像对待任何插件那样,为它们提供属性页)。它们比较适合不要求最终用户进行输入的自动服务。WindowsMedia Player插件向导可以为每种类型的用户界面插件创建示例实现。您可以修改实现细节, 以提供所需功能, 编译项目,然后使用 Player测试插件。该向导包括编译自行注册的COM DLL 所需的所有代码,因而您可以在编码时将重点放在特殊需要上。2.

16、2 系统设计实现的基本原理与过程本课程设计的目标是完成实现一个可播放多种音频视频文件的多媒体播放器。要求播放器能够基本实现音频视频文件的打开,播放,暂停,停止,音量控制等基本播放器操作。多媒体播放器的基本实现过程为:首先通过 MFC建立程序的基本框架如下图2-2-1:2-2-1用其控件实现基本播放功能;然后利用 MFC基本控件以及 C+文件输入输出流控制实现播放控制。3 系统的总体设计与分析3.1 系统功能设计3-1-1多媒体播放器的具体功能如下:( 1) 打开本地媒体文件(可支持的文件有 *.mp3 ),在打开对话框可以对本地媒体文件进行查找;( 2) 播放控制即可通过面板上按钮( 3) 暂

17、停播放媒体文件,继续播放媒体文件;( 4) 停止播放媒体文件,播放进度条返回起点;( 5)调整播放音量(增大、减小、静音切换);( 6)调整视频播放时的显示为全屏3.2 系统架构设计3-2-1根据 MP3播放器的功能设计,将整个系统分为操作界面块 (播放器操作界面)、操作参数处理块( MFC控件)、播放控制块( WindowsMedia Player 控件)三个模块,这三个模块各自的功能与它们之间的关系构成了整个播放器的构架。 下面是每个模块的具体描述:操作界面模块: 即多媒体播放器的操作界面, 将用户的各项操作作为参数传递给操作参数处理块( MFC控件),并接收操作参数处理块的处理结果(列表

18、相关)与播放控制块的播放控制显示处理操作结果,将此信息返回给用户;操作参数处理块:由 MFC通用控件控制,接收来自操作界面的各项操作信息,并对这下操作进行分类处理, 若是有关播放控制类的操作则将把操作请求信息加工后传递给模仿控制模块; 若是列表控制类的则将这些操作先加工处理再将信息传递给播放块。再者接受来自播放控制模块的处理数据, 并将处理结果综合整理后传递给操作界面,以呈现于用户。播放控制块:由 Windows Media Player 系统调用控制,接收来自操作参数处理块的媒体播放控制等相关操作,并将处理结果传递给操作参数处理块。3.3 子系统与模块设计3.3.1播放功能3-3-1 打开文

19、件3-3-2( 1)打开菜单项,打开本地媒体文件。调用WindowsAPI CFileDialog打开打开文件对话框。输入参数:选取的文件。输出参数:文件路径。3-3-3( 2) Play 菜单项,将当前暂停或者停止状态的媒体文件的播放状态切换至播放播放状态。输入参数: Play 指令选取。输出参数:播放控制信息。3-3-4( 3)暂停菜单项,将当前处于播放状态的媒体文件的播放状态切换至暂停。输入参数: Pause指令选取。输出参数:暂停控制信息。3-3-5( 4)停止菜单项,将当前处于播放状态或暂停状态的媒体文件的播放状态切换至停止状态。输入参数:停止指令选取。输出参数:停止控制信息。3-3

20、-6( 5)退出菜单项,退出多媒体播放器程序。输入参数:退出指令选取。输出参数: 0。3-3-7( 6)音量增大项,控制音量大小,将音量增大。输入参数:音量增大指令选取。输出参数:音量增大控制信息。( 7)音量减小项,控制音量大小,将音量减小。输入参数:音量减小指令选取。输出参数:音量减小控制信息。3-3-8( 8)全屏项,控制视频播放窗口大小,使视频显示为全屏。输入参数:全屏指令选取。输出参数:全屏控制信息。3-3-9( 9)播放进度条,能与媒体文件的播放进度同步,以显示当前的播放进度。输入参数:媒体文件的长度信息。4 系统详细设计与实现4.1多媒体播放器的详细设计与实现4.1.1打开媒体文

21、件代码:void CMediaPlayerDlg:OnOpen()char szFileFilter="Mp3 File(*.mp3)|*.mp3|""Wma File(*.wma)|*.wma|""Video File(*.dat)|*.dat|""Wave File(*.wav)|*.wav|""AVI File(*.avi)|*.avi|""Movie File(*.mov)|*.mov|""Media File(*.mmm)|*.mmm|"&quo

22、t;Mid File(*.mid;*,rmi)|*.mid;*.rmi|""MPEG File(*.mpeg)|*.mpeg|""All File(*.*)|*.*|"/打开菜单项的文件类型选择CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);if(dlg.DoModal()=IDOK)CString PathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);4.

23、1.2关闭媒体文件代码:void CMediaPlayerDlg:OnCancel()/ 调用控制函数退出CDialog:OnCancel();4.1.3播放打开的文件代码:void CMediaPlayerDlg:OnPlay()/ 调用控制函数播放打开的文件m_ActiveMovie.Run();SetTimer(0,20,NULL);/*double CurrentPos=m_ActiveMovie.GetCurrentPosition();if(CurrentPos=0&&isRepeat)m_ActiveMovie.Run();*/4.1.4停止打开的文件代码:voi

24、d CMediaPlayerDlg:OnStop()/ 调用控制函数停止打开的文件m_ActiveMovie.Stop();KillTimer(0);4.1.5暂停正在播放的文件代码:void CMediaPlayerDlg:OnPause()/ 调用控制函数 暂停正在播放的文件m_ActiveMovie.Pause();/*void CMediaPlayerDlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)CSliderCtrl *pSlider=(CSliderCtrl*)pScrollBar;if(m_Slider

25、!=(*pSlider) return;long Volume=(long)m_Slider.GetPos();long PreVolume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(PreVolume+Volume);m_ActiveMovie.Run();CDialog:OnHScroll(nSBCode, nPos, pScrollBar);*/4.1.6降低音量代码:void CMediaPlayerDlg:OnLower()/ / 调用设置音量函数降低音量long Volume=m_

26、ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();4.1.7增大音量代码:void CMediaPlayerDlg:OnUpper()/ 调用设置音量函数降低音量long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run();4.1.8全屏播放代码:void CMediaPla

27、yerDlg:OnFulscreeen()/ 调用控制函数使播放全屏m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();4.25 系统调试与运行5.1 系统安装与部署5.1.1制作压缩文件5.1.1右键点击 VC+形成的文件夹,制作成一个RAR后缀的压缩文件5.1.2这样一个小小的压缩文件包就形成了。5.2 系统运行与测试5.2.1解压压缩文件5.2.1解压文件到指定的文件夹5.2.2将

28、文件解压到指定的文件夹5.2.2打开文件夹5.2.35.2.3运行播放器5.2.45.2.4调试“打开”按钮点击打开按钮5.2.5文件类型默认的是MP3格式,当然在这里我们可以选择显示所有文件,以便播放其他格式的视频,音乐。5.2.65.2.7打开其中一个文件5.2.85.2.5测试播放按钮5.2.9测试结果播放功能正常5.2.6测试暂停按钮5.2.10测试结果显示暂停功能正常5.2.7测试停止功能5.2.11图中显示的图像由正在播放中的直接变回初始的图像,显示了停止功能的正常使用。5.2.8最小化按钮的测试5.2.12点击最小化后, 视频图像和播放进度条小诗, 出现一个蓝色小方块形状的按钮。

29、双击它,恢复原来的状态。5.2.9退出程序的测试由于无法用图像来显示这个功能,只能跳过、5.2.10声音增大经过测试发现此功能正常工作。5.2.11声音减小经过测试发现此功能正常工作。5.2.12全屏播放5.2.13图片显示的全屏播放的正常使用。6 课程设计总结本次课程设计的任务是利用VC+开发一个支持 mp3、wma、 wmv、avi 、mpg等不同音频、视频格式的多媒体播放器, 以便通过课程设计掌握多媒体编程的基本原理。通过本次课程设计自己进一步熟悉了 Visual Studio 2008 开发环境工具,巩固复习了 MFC的应用程序编程,对 WindowsMedia Player 的开发实

30、现有了深刻的了解,了解了相关中间件技术,当然更熟悉了 C+语言,体会到了面向对象的开发过程。多媒体播放器的设计是基于 MFC框架,当然也是基于 Win32 开发的应用程序。在开发过程中为了完善各多媒体播放器功能, 设计用户之间友好的接口, 使用了 MFC 通用控件:按钮、静态文本框、编辑框、组合框、列表框,在制作过程中对这些控件的属性、事件及方法都有了较为熟练的掌握。另外基于 MFC开发程序必定要对整个 MFC的框架有所了解,在设计时也进一步熟悉了MFC相关调用的实现。在实现媒体播放这一重要功能时,采用了调用Windows Media Player控件来实现基本播放功能,通过本次的课程设计,对

31、C+,MFC,面向对象的开发过程有了更深的认识与掌握,学习到了Media Player控件调用,充实了自身,学到很多有用的工具、方法。附部分程序代码:#include "stdafx.h"#include "MediaPlayer.h"#include "MediaPlayerDlg.h"#include "activemovie3.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;CMediaPla

32、yerDlg:CMediaPlayerDlg(CWnd* pParent /*=NULL*/): CDialog(CMediaPlayerDlg:IDD, pParent)m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CMediaPlayerDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);DDX_Control(pDX, IDC_FULSCREEEN, m_FullScreen);DDX_Control(pDX, IDC_REPEAT, m_Rep

33、eat);DDX_Control(pDX, IDC_UPPER, m_Upper);DDX_Control(pDX, IDC_LOWER, m_Lower);DDX_Control(pDX, IDC_CLOSE, m_Close);DDX_Control(pDX, IDCANCEL, m_Exit);DDX_Control(pDX, IDC_STOP, m_Stop);DDX_Control(pDX, IDC_PLAY, m_Play);DDX_Control(pDX, IDC_PAUSE, m_Pause);DDX_Control(pDX, IDC_OPEN, m_Open);DDX_Con

34、trol(pDX, IDC_ACTIVEMOVIECONTROL1, m_ActiveMovie);BEGIN_MESSAGE_MAP(CMediaPlayerDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_CLOSE, OnClose)ON_BN_CLICKED(IDC_OPEN, OnOpen)ON_BN_CLICKED(IDC_PLAY, OnPlay)ON_BN_CLICKED(IDC_STOP, OnStop)ON_BN_CLICKED(IDC_PAUSE, OnPa

35、use)ON_BN_CLICKED(IDC_LOWER, OnLower)ON_BN_CLICKED(IDC_UPPER, OnUpper)ON_BN_CLICKED(IDC_REPEAT, OnRepeat)ON_BN_CLICKED(IDC_FULSCREEEN, OnFulscreeen)ON_WM_TIMER()ON_BN_CLICKED(IDC_STATIC2, OnStatic2)END_MESSAGE_MAP()/下面一段代码是对各个按钮的功能实现BOOL CMediaPlayerDlg:OnInitDialog()CDialog:OnInitDialog();isRepeat=

36、FALSE;ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);/if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(

37、MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);SetIcon(m_hIcon, FALSE);/设置大按钮/设置小按钮/ TODO: Add extra initialization herereturn TRUE; /返回真除非你得到了这个按钮的控制void CMediaPlayerDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();el

38、seCDialog:OnSysCommand(nID, lParam);/ 最小化窗口按钮的功能实现void CMediaPlayerDlg:OnClose()/ TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow();/ 打开文件按钮功能的实现void CMediaPlayerDlg:OnOpen()/ TODO: Add your control notification handler code here char szFileFilter="Mp3 File(*.mp3

39、)|*.mp3|""Wma File(*.wma)|*.wma|""Video File(*.dat)|*.dat|""Wave File(*.wav)|*.wav|""AVI File(*.avi)|*.avi|""Movie File(*.mov)|*.mov|""Media File(*.mmm)|*.mmm|""Mid File(*.mid;*,rmi)|*.mid;*.rmi|""MPEG File(*.mpeg)|*.mpe

40、g|""All File(*.*)|*.*|"/各类文件类型CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()=IDOK)CString PathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);/ 播放功能的实现void CMediaPlayerDlg:OnPlay()/ TODO: Add your control notification ha

41、ndler code here m_ActiveMovie.Run();SetTimer(0,20,NULL);/*double CurrentPos=m_ActiveMovie.GetCurrentPosition();if(CurrentPos=0&&isRepeat)m_ActiveMovie.Run();*/ 停止功能的实现void CMediaPlayerDlg:OnStop()/ TODO: Add your control notification handler code here m_ActiveMovie.Stop();KillTimer(0);/ 暂停功能

42、的实现void CMediaPlayerDlg:OnPause()/ TODO: Add your control notification handler code here m_ActiveMovie.Pause();/*void CMediaPlayerDlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)/ TODO: Add your message handler code here and/or call default CSliderCtrl *pSlider=(CSliderCtrl*)pScrollBar; if(m_Slider!=(*pS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论