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

孤狼工作室 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

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

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值