我在一个按钮的响应函数里面添加了如下代码:
void CflashactivexDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
this->shockflash.LoadMovie(1,"C:\\Documents and Settings\\Administrator\\桌面\\新建文件夹\\144.swf");
this->shockflash.Play();
}运行程序单击按钮,但是不能播放FLASH,请问这个控件要怎么用的,请高手指点还有这个控件能不能脱离对话框,只通过API来控制?怎么弄?

解决方案 »

  1.   

    void CMetCenView::OnButton1() 
    {
    // m_Flash.LoadMovie(0,"E:\\照片\\TOUR.SWF"); //这个样子是通过的 m_Flash.SetMovie("E:\\照片\\TOUR.SWF");    //这样也是通过的
    m_Flash.Play();
    }
    之所以上面两个能通过主要是因为Flash本省的层次问题。0层是最高层。  我觉得如果你只是想播放Flash直接用后面一个SetMovie比较好。
    另外你说的脱离Dialog? 那也是可以的 只要你把shockwaveflash.h和shockwaveflash.cpp考到你的工程目录下 添加到工程当中然后声明一个CShockwaveFlash m_Flash;变量 然后在程序初始化的时候 例如在工程中的View类的OnCreat事件里面 使用m_Flash.Creat()方法动态创建一个就可以了。至于如何创建 其实就跟你动态创建一个Edit是一样的,就不多说了。
      

  2.   

    Tinary3v0 谢谢你的解答,现在能播放FLASH了至于第二个问题,脱离Dialog使用这个插件,我们是在做一个流媒体播放器,需要用这个插件来播放视频,需要把播放器设置成半透明,如果有对话框的话,半透明的时候就会看到那个对话框,我们希望半透明的时候看到的是桌面,你说的在View的OnCreate里动态创建,这样设置了半透明后,仍然会看到文档窗口,有没有方法可以使得只显示那个播放器,或者把窗口隐藏起来?
      

  3.   


    那请问如果把这段放在一个DLL文件中,然后把这个DLL插入到别的exe程序中执行该怎么做呢?谢谢!