关闭

千锤百炼VC++实例(连载12) flash播放器的制作

3818人阅读 评论(0) 收藏 举报

孤狼工作室 Visual C++ 实例连载

实例12 Flash播放器的制作

1.创建一对话框应用程序,工程名:Flash

2.删除对话框中的控件,添加一个Flash控件。具体步骤如下:如果在制作这个flash播放器之前没有装过制作flash 的软件flash MX的话,就要先注册一下控件,点击菜单中的工具,点ActiveX Control Test Container,在弹出的对话框中点 file--Regisster controls---Register,找到 Flash8b.ocx ,如果没有到网上下载一个。最后点击打开即可完成注册。

3 。将控件添加到控件工具栏中:点击  工程---添加的工程---Components and Controls Gallery,双击

Registered ActiveX Controls 文件夹,找到Shockwave Flash Object.lnk,选中点击Insert 即可添加到控件工具栏中。将其拖到对话框中,并调整好位置大小。

4.为Flash播放器添加一个菜单:点击插入---资源--Menu 点击 新建,即可插入一个菜单资源,可到资源视图中察看。为菜单资源添加类:点击类向导,在弹出的对话框中选择 Select an existing class,在弹出的对话框中选择 CFlashDlg 完成菜单类的创建。

5。编辑菜单,其添加  文件--打开--关闭 的一个下拉菜单项。修改 打开 的ID为ID_OPEN,关闭的ID为ID_CLOSE。

6.分别为ID_OPEN、ID_CLOSE添加鼠标单击相应函数,ID_OPEN代码如下:

void CFlashDlg::OnOpen()
{
 // TODO: Add your command handler code here
 CFileDialog
 dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("Flash文档.swf|*.swf|"));
 if(dlg.DoModal()==IDOK)
 {
        m_strPathName=dlg.GetPathName();
  UpdateData(FALSE);
 }
 m_flash.SetMovie(m_strPathName);
 m_flash.GotoFrame(0);
 m_flash.Stop();

}

ID_CLOSE代码如下:

void CFlashDlg::OnClose()
{
 // TODO: Add your command handler code here
 OnOK();
}

7.为了让对话框窗口大小能够变化,还应该勾选对话框属性的样式中的最小话框、最大化框。为了让Flash控件在播放过程中的大小能够随着窗口的变化而变化,还应加入以下代码:

(1)添加之前先给控件定义一个变量:m_flash

(2)为对话框添加WM_SZIE函数,代码如下:

void CFlashDlg::OnSize(UINT nType, int cx, int cy)
{
 CDialog::OnSize(nType, cx, cy);
 
 // TODO: Add your message handler code here
 CRect rect;
 if(m_flash.GetSafeHwnd())
 {
  m_flash.GetWindowRect(&rect);
  ScreenToClient(&rect);
  m_flash.MoveWindow(0,0,cx,cy,TRUE);
 }

}

这样当我们在播放过程中动画的大小就能随窗口的变化而变化了。

一个基本的Flash播放器就做好了,当然你可以在此基础上继续完善它的功能。欢迎交流:QQ:84237758


本程序经孤狼工作室在 Windows 2000 Server + Visual C++ 6.0 中编译运行通过。如有问题可加QQ:84237758

以后孤狼工作室将陆续添加更多的实例,敬请期待!

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:114235次
    • 积分:1643
    • 等级:
    • 排名:千里之外
    • 原创:56篇
    • 转载:1篇
    • 译文:0篇
    • 评论:20条
    文章分类
    文章存档
    最新评论