如题
**是MFC,而不是VC  or .NET
我用Q魔法原理做了一个
想怎么样能使flash直接透明(MFC)中
//////////
m_MyFlashPlayer->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW&~WS_BORDER, m_rectPos, this, 
NULL,&pContext);
ASSERT(m_MyFlashPlayer);
m_MyFlashPlayer->ShowWindow(SW_SHOWNORMAL);
m_MyFlashPlayer->LoadMovie(0, MainGameFile); m_MyFlashPlayer->SetWMode("transparent");//
m_MyFlashPlayer->SetLayeredWindowAttributes(FLASHBACKGROUPCOLOR,0,LWA_COLORKEY);//#define FLASHBACKGROUPCOLOR       RGB(255,51,102)
m_MyFlashPlayer->SetMenu(false);
m_MyFlashPlayer->Play();
//////////
以上代码不可以,请高手解答了,

解决方案 »

  1.   

    http://www.codeproject.com/useritems/flashcontrol.asp
      

  2.   

    http://www.codeproject.com/useritems/flashcontrol.asp
    C++的,转不过来啊,哎,还是谢谢,此页我之前找过了
      

  3.   

    OLE container implementation for hosting Transparent Flash Player Control using plain C++. No ATL, MFC or other libraries are used.
    DentistryDoctor(不在无聊中无奈,就在沉默中变态)能帮我不?给下QQ吧
      

  4.   

    我见过模拟QQ魔法表情的原理
    做法是把你要显示的区域截图,并作为flash的背景图片,这样就可以了
      

  5.   

    大家都知道,在QQ魔法表情启动时,内存会多一个MagicFlash.exe的进程,他就是一个简单的FLASH播放器,其实也不是什么播放器,原理就是一个网页.在QQ的安装目录下面可以找到这个MagicFlash.exe文件,你可以试着拖一幅FLASH文件(SWF)到MagicFlash.exe图标上,看看这就是所谓的魔法表情,呵呵.是不是很简单呢..   
              说到实现的原理,也是非常简单的,我仔细研究过,其实MagicFlash.exe就是一个网页查看程序(MFC写的,我也不知道是什么控件,反正就是能看网页就是了,如WebBrowser控件).当运行MagicFlash.exe时,程序把当前屏幕的固定区域截取下來,做这网页的背景,然后插入一个ActiveX小插件(当然是FLASH了),用来播放你给的Flash,同时把Flash的背景设为透明,这样就神不知鬼不觉地呈现了透明的FLASH播放在你的屏幕当中.其实并不是透明的,而是把当前的固定屏幕区域截取下来做为网页的背景,呵呵..是不是很简单呢.你也可以用任何语言写一个和MagicFlash.exe一样的程序呢.下面贴出来播放Flash的代码:   
      <html>   
        
      <head>   
      <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />   
      </head>   
        
      <body   background="mt4F.jpg"   style="overflow:hidden"   border=   "0">   
        
        <SCRIPT   LANGUAGE="JavaScript">   
        
      function   ID1_DoFSCommand(command,   args)   {   
                
      if(command=="window"   &&   args=="closeResult   close")     
        
      {   
                        
              document.getElementById('V1').innerHTML   =   '';   
                
      }   
        
      }   
        
      </SCRIPT>   
        
      <SCRIPT   LANGUAGE="VBScript">   
        
      On   Error   Resume   Next   
        
        
      Sub   ID1_FSCommand(ByVal   command,   ByVal   args)   
            
          Call   ID1_DoFSCommand(command,   args)   
        
      End   Sub     
        
      </SCRIPT>     
        
        
      <DIV   ID="V1">   
        
      <object   classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"   id="ID1"   width="400"   height="400"     
        
      align="middle">   
      <param   name="movie"   value="dh188.swf"   />   
      <param   name="quality"   value="high"   />   
      <param   name="wmode"   value="transparent"   />   
      <param   name="bgcolor"   value="#ffffff"   />   
      <param   name="allowScriptAccess"   value="sameDomain"   />   
      <param   name="scale"   value="showall"   />   
      </object>   
      </DIV>   
      </body>   
      </html>   
      呵呵,上面的代码就是整个程序的核心,只要你的程序能查看网页,你就可以把这断代码用在你的网页上.当然条件是你必须先把當前的屏幕截取下來:   
      <body   background="mt4F.jpg"   style="overflow:hidden"   border=   "0">   
      "mt4F.jpg"就是你截取下來的图片,用他来做背景,才能和你的屏幕一致,才能达到透明的效果,还要注意不要变动程序的位置,QQ就是这样做的.   
        以上这些都是经过我证实过了.代码也是MagicFlash.exe生成的,大家有兴趣可以研究一下,做出自己的"魔法表情"或其他更強大的程序,利用Flash的透明属性结合网页可以做到很多意想不到的效果.
      

  6.   

    TO:
    Y___Y(一叶障目) ( )
      

  7.   

    TO
    Y___Y(一叶障目) ( )
    QQ魔法我做好,请看题,谢谢
      

  8.   

    搞得差不多了,等我搞完成好,我会给出我做好的答案,回答都有分,
    多谢各位
    答案从DentistryDoctor(不在无聊中无奈,就在沉默中变态) 找到,
    哈哈,都怪我原来没认真看上面的标题[OLE container implementation for hosting Transparent Flash Player Control using plain C++. No ATL, MFC or other libraries are used.]
    分要等我确定完成后再给,
      

  9.   

    To zyjasp(张艳军):
      请指教怎么整的
      

  10.   

    To zyjasp(张艳军):
    请教一下,你做好的源码公布一下?
      

  11.   

    http://community.csdn.net/Expert/topic/5515/5515100.xml?temp=5.849856E-02