用的是vc6.0,建立的是,mfc单文档!
mfc中如何获得shockwava flash object控件中加载本地磁盘中swf文件的尺寸,以及帧的大小、帧的播放速度和帧总数!

解决方案 »

  1.   

    这是这个控件的所有函数!#if !defined(AFX_SHOCKWAVEFLASH_H__4325B806_C892_47F4_840F_378F45AD74DA__INCLUDED_)
    #define AFX_SHOCKWAVEFLASH_H__4325B806_C892_47F4_840F_378F45AD74DA__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++// NOTE: Do not modify the contents of this file.  If this class is regenerated by
    //  Microsoft Visual C++, your modifications will be overwritten./////////////////////////////////////////////////////////////////////////////
    // CShockwaveFlash wrapper classclass CShockwaveFlash : public CWnd
    {
    protected:
    DECLARE_DYNCREATE(CShockwaveFlash)
    public:
    CLSID const& GetClsid()
    {
    static CLSID const clsid
    = { 0xd27cdb6e, 0xae6d, 0x11cf, { 0x96, 0xb8, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0 } };
    return clsid;
    }
    virtual BOOL Create(LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName, DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd, UINT nID,
    CCreateContext* pContext = NULL)
    { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
    const RECT& rect, CWnd* pParentWnd, UINT nID,
    CFile* pPersist = NULL, BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL)
    { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
    pPersist, bStorage, bstrLicKey); }// Attributes
    public:// Operations
    public:
    long GetReadyState();
    long GetTotalFrames();
    BOOL GetPlaying();
    void SetPlaying(BOOL bNewValue);
    long GetQuality();
    void SetQuality(long nNewValue);
    long GetScaleMode();
    void SetScaleMode(long nNewValue);
    long GetAlignMode();
    void SetAlignMode(long nNewValue);
    long GetBackgroundColor();
    void SetBackgroundColor(long nNewValue);
    BOOL GetLoop();
    void SetLoop(BOOL bNewValue);
    CString GetMovie();
    void SetMovie(LPCTSTR lpszNewValue);
    long GetFrameNum();
    void SetFrameNum(long nNewValue);
    void SetZoomRect(long left, long top, long right, long bottom);
    void Zoom(long factor);
    void Pan(long x, long y, long mode);
    void Play();
    void Stop();
    void Back();
    void Forward();
    void Rewind();
    void StopPlay();
    void GotoFrame(long FrameNum);
    long CurrentFrame();
    BOOL IsPlaying();
    long PercentLoaded();
    BOOL FrameLoaded(long FrameNum);
    long FlashVersion();
    CString GetWMode();
    void SetWMode(LPCTSTR lpszNewValue);
    CString GetSAlign();
    void SetSAlign(LPCTSTR lpszNewValue);
    BOOL GetMenu();
    void SetMenu(BOOL bNewValue);
    CString GetBase();
    void SetBase(LPCTSTR lpszNewValue);
    CString GetScale();
    void SetScale(LPCTSTR lpszNewValue);
    BOOL GetDeviceFont();
    void SetDeviceFont(BOOL bNewValue);
    BOOL GetEmbedMovie();
    void SetEmbedMovie(BOOL bNewValue);
    CString GetBGColor();
    void SetBGColor(LPCTSTR lpszNewValue);
    CString GetQuality2();
    void SetQuality2(LPCTSTR lpszNewValue);
    void LoadMovie(long layer, LPCTSTR url);
    void TGotoFrame(LPCTSTR target, long FrameNum);
    void TGotoLabel(LPCTSTR target, LPCTSTR label);
    long TCurrentFrame(LPCTSTR target);
    CString TCurrentLabel(LPCTSTR target);
    void TPlay(LPCTSTR target);
    void TStopPlay(LPCTSTR target);
    void SetVariable(LPCTSTR name, LPCTSTR value);
    CString GetVariable(LPCTSTR name);
    void TSetProperty(LPCTSTR target, long property, LPCTSTR value);
    CString TGetProperty(LPCTSTR target, long property);
    void TCallFrame(LPCTSTR target, long FrameNum);
    void TCallLabel(LPCTSTR target, LPCTSTR label);
    void TSetPropertyNum(LPCTSTR target, long property, double value);
    double TGetPropertyNum(LPCTSTR target, long property);
    double TGetPropertyAsNumber(LPCTSTR target, long property);
    CString GetSWRemote();
    void SetSWRemote(LPCTSTR lpszNewValue);
    CString GetFlashVars();
    void SetFlashVars(LPCTSTR lpszNewValue);
    CString GetAllowScriptAccess();
    void SetAllowScriptAccess(LPCTSTR lpszNewValue);
    CString GetMovieData();
    void SetMovieData(LPCTSTR lpszNewValue);
    LPUNKNOWN GetInlineData();
    void SetInlineData(LPUNKNOWN newValue);
    BOOL GetSeamlessTabbing();
    void SetSeamlessTabbing(BOOL bNewValue);
    void EnforceLocalSecurity();
    BOOL GetProfile();
    void SetProfile(BOOL bNewValue);
    CString GetProfileAddress();
    void SetProfileAddress(LPCTSTR lpszNewValue);
    long GetProfilePort();
    void SetProfilePort(long nNewValue);
    CString CallFunction(LPCTSTR request);
    void SetReturnValue(LPCTSTR returnValue);
    void DisableLocalSecurity();
    CString GetAllowNetworking();
    void SetAllowNetworking(LPCTSTR lpszNewValue);
    CString GetAllowFullScreen();
    void SetAllowFullScreen(LPCTSTR lpszNewValue);
    };//{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_SHOCKWAVEFLASH_H__4325B806_C892_47F4_840F_378F45AD74DA__INCLUDED_)
    这是这个类的头文件的声明,里面没有看到Total()[获得swf文件的帧总数],好多网上日志写到有这个函数,咋回事哦!
      

  2.   

    long GetTotalFrames();这是干啥的?
      

  3.   

    VC中CShockwaveFlash的常用函数
    Play()
        播放动画  
    StopPlay()
        停止动画  
    IsPlaying()
        动画是否正在播放(true,false)  
    GotoFrame(frame_number)
        跳转到某帧(frame_number+1)  
    GetTotalFrames()
        获取动画总帧数  
    GetCurrentFrame()
        回传当前动画所在帧数-1  
    Rewind()
        使动画返回第一帧  
    SetZoomRect(left,top,right,buttom)
        放大指定区域  
    Zoom(percent)
        改变动画大小  
    Pan(x_position,y_position,unit)
        使动画在x,y方向上平移  
    PercentLoaded()
        返回动画被载入的百分比(0-100)  
    LoadMovie(level_number,path)
        加载动画  
    TGotoFrame(movie_clip,frame_number)
        movie_clip跳转到指定帧数  
    TGotoLabel(muvie_clip,label_name)
        movie_clip跳转到指定标签  
    TCurrentFrame(movie_clip)
        回传movie_clip当前帧-1  
    TCurrentLabel(movie_clip)
        回传movie_clip当前标签  
    TPlay(movie_clip)
        播放movie_clip  
    TStopPlay(movie_clip)
        停止movie_clip的播放  
    GetVariable(variable_name)
        获取变量  
    SetVariable(variable_name,value)
        变量赋值  
    TCallFrame(movie_clip,frame_number)
        call指定帧上的action  
    TCallLabel(movie_clip,label)
        call指定标签上的action  
    TGetProperty(movie_clip,property)
        获取movie_clip的指定属性  
    TSetProperty(movie_clip,property,number)
        设置movie_clip的指定属性
      

  4.   

    http://topic.csdn.net/u/20080523/11/c5f43409-26ad-4daf-b704-a9bd56ffaad7.html
    你属于D类型。
      

  5.   

    mfc中如何获得shockwava flash object控件中加载本地磁盘中swf文件的[color=#0000FF]尺寸,以及帧的大小、帧的播放速度帧总数!  [/color]你说的什么啊,这个不是新问题,你仔细看看我的提问标题里面,你明明只回答了一小部分而已。
      

  6.   

    可真苦了大斑竹。。呵呵~~GetTotalFrames--这个是帧总数官方的说明文档flash_file_fomate pdf不是有吗?说明了flash文件格式。字段            类             型  具体                       说明 
     标记1  一个字节  F或C :其中C表示文件数据经过压缩   F为不压缩             
     标记2  一个字节  W 
     标记2  一个字节  S 
     版本号  一个字节  FLASH版本号如:0x06表示为版本6 
     文件长度  四个字节  整个文件大小 
     桢大小  RECT  显示的矩形框大小 
     祯速率  二个字节  祯显示速率 
     祯数  两个字节  文件包括总祯数 
    LZ要的尺寸,以及帧的大小、帧的播放速度和帧总数都有。。
    参考http://blog.csdn.net/undeadhero/archive/2005/06/10/390744.aspxhttp://topic.csdn.net/u/20080523/11/c5f43409-26ad-4daf-b704-a9bd56ffaad7.html 
    你属于X,Y,Z类型。
      

  7.   

    为啥VC 6 下说 没有  setreturnvalue 这个方法呢?