我用CPictureEx类加载的,gif的文件。 也自定义了gif格式。  在 OnInitDialog中加入了if(m_GifPic.Load(MAKEINTRESOURCE(IDR_GIF5),_T("Gif")))
{
m_GifPic.Draw();
}但是我的gif就是静止的,没有播放动画。 请教各位问题处在哪里呢? 

解决方案 »

  1.   

    你的gif的格式不对, 不符合它的要求, 你可以 单步debug 它的load, 你 肯定走的是另一个路径。
      

  2.   

    动画图片是有好多帧的,你要自己播放除第一帧以外的帧把 。请参考:
    http://www.cnblogs.com/DavidHu/articles/1205135.html
      

  3.   


    嗯,是走另外一个途径了,但是我下载就是gif格式的文件啊。 
      

  4.   


    是动画,在没导入到资源之前可以正常播放。 导入到资源后,就成为1帧的普通gif了。  而且导入后,显示的是16进制码,而不是正常的图片。
      

  5.   

    应该在ShowWindow里面调用m_GifPic.Draw()
      

  6.   


    和ShowWindow有什么关系? 
      

  7.   

    你使用的VS的IDE吧,呵呵,我在VS2008中也遇到过这个问题,解决方法是直接图片导入VC6.0资源中,然后将VC6.0中的二进制数据copy到VS2008中,就可以了
      

  8.   

    你可以将VS和VC6.0中的GIF数据比对一下,看看是不是一样的
      

  9.   

    学习中
    顺便链接个小弟疑难贴http://topic.csdn.net/u/20100817/12/ba81ecba-18de-429c-93d5-4545622b7cb3.html?1587
      

  10.   


    我是用的VS2008,没装6.0. 除了这个办法还有其它的办法吗? 我不能导入好多图片都从6.0上copy啊
      

  11.   

    这个格式问题很麻烦。 你可以换个类吧, 不用这个CPictureEx。 
    用ImageEx。 具体到codeproject上搜。
      

  12.   


    代码就一句,CpictureEx类是从网上下的。 gif文件也是从网上下来的。 然后就是导入gif文件到资源中。 别的没有了在 OnInitDialog中加入了if(m_GifPic.Load(MAKEINTRESOURCE(IDR_GIF5),_T("Gif")))
    {
    m_GifPic.Draw();
    }