以ActiveX控件——媒体播放器为例,说明组件应用之功能强大和使用的简单方便。
媒体播放器(Media Player)是DirectX Media中的一个ActiveX控件,支持大多数标准流媒体格式的播放,如ASF、AVI、MPEG、WAV、MIDI、MP3、WMA等,但对RM和MOV支持得不够。
创建一个基于对话框的MFC应用程序MPlay
为了能够在项目中使用媒体播放器控件,必须先将媒体播放器控件添加到对话框编辑器工具箱中。(这需要在你的系统中,已经正确安装了微软公司的媒体播放器)
1. 添加ActiveX控件
(VC++ 6.0)
工程-添加到工程-> components and controls 选择Windows Media Player
插入到工具箱, 再拖到对话框中
( VC++2005方法)
1 打开工具箱窗口,在其空白区单击鼠标右键,在弹出菜单中选中“选择项”菜单项;也可以选VS的“工具/选择工具箱项”菜单项;在弹出的“选择工具箱项”对话框中,选择“COM组件”页;滚动到列表框的底部,选中“Windows Media Player”项,按“确定”钮,关闭对话框。系统会将一个“ Windows Media Player”控件,加入到工具箱的对话框编辑器栏的底部。这样你就可以将其加入到对话框资源中了。
2 你也可以简单地在对话框资源中单击鼠标右键,在弹出菜单中选中“插入ActiveX控件”菜单项;在打开的“插入ActiveX控件”对话框中,滚动列表框,选择底部的“Windows Media Player”项,按“确定”钮,关闭对话框。则系统会将其自动加入到对话框资源中(但这样是不会在工具箱中添加对应控件的)。
)2)设计对话框
在对话框中调整好媒体播放器控件的位置和大小,打开属性窗口,设置其ID为IDC_MP。去掉对话框中 “取消”钮,将“确定”钮中的文字改为“打开(&O)”,并修改其ID为IDC_LOAD(用来打开文件对话框,选择播放的流媒体文件,并将该文件的路径名传递给媒体播放器),而播放、暂停、停止等图形按钮控件中已经有了。
在你为对话框加入媒体播放器控件后,MFC会自动在资源文件MPlay.rc中添加对它的复杂初始化代码.
还可以按属性窗口工具条上的属性页按钮,在弹出的“Windows Media Player属性”对话框中,进行各种属性设置,例如选中“按比例伸展”和“全屏播放”复选框。
3)添加控件变量
为了能使用媒体播放器控件,我们必须为该控件添加一个控件型类变量 m_ctrlMPlayer;
同时给打开按钮添加了变量m_ctrlLoad.
(4)使用控件
这里所要做的工作,只是在CMPlayDlg类中,为“装入”按钮添加单击事件BN_CLICKED的处理程序OnBnClickedLoad,并在该函数中打开公用文件对话框,获取用户选择的媒体文件名,并将该文件的路径传递给媒体播放器类对象:
VC++ 6.0 代码: