如题,我搜索了一下,怎么搜索的相关内容都连不上去啊?在csdn上啊!
   谢谢帮助!

解决方案 »

  1.   

    我想在右上角做一个动画图标,和IE的一样,不知该怎么做?一起UP!
    你搜索的贴子早于某个日期时,贴子的内容已经被删除了,但是标题还在,CSDN这一点做的真是差!
      

  2.   

    这个问题实际上是关于BMP的问题,采用CImageList来管理动画需要的多幅位图现本人解答如下:
    1. 添加AnimateIcon.cpp和AnimateIcon.h 到工程文件。2. 创建位图资源,并按序放置所有位图文件(16*16)。3. 在mainframe.h 开始添加#include "AnimateIcon.h" 。4. 添加下面的protected成员到主框架类:
        CAnimateIcon m_animIcon;
        UINT m_timerID;5. 添加下面的代码到主框架的OnCreate成员中: 
        m_animIcon.SetImageList(IDB_ANIM_IMGLIST,4,RGB(0,0,0));
        m_timerID = this->SetTimer(99,500,NULL);6. 为主框架类创建OnDestroy()函数,并添加下面代码:
        CFrameWnd::OnDestroy();
        if(m_timerID != 0)
            KillTimer(m_timerID);7. 添加WM_TIMER处理器到主框架类,并添加下面代码:
        m_animIcon.ShowNextImage();编译并运行上述代码,并改变IDR_MAINFRAME图标资源即可。
      

  3.   

    你真有福气,我刚好写了一个。现献丑如下:
    首先我用的是和楼上基本相同的办法,实现过程略有不同。
    1 创建动画帧,也就是几幅连续变化的位图或者图标;
    2 添加成员变量CPictureHolder m_AVI,这是用来显示显示图片的,要使用这个空件需要在头文件中加上#include <afxctl.h>。
    2 在MainFrame里面定义成员变量HICON数组,当然如果你创建的动画帧是位图则应该定义HBITMAP数组。然后的OnCreate()函数里面Load所有的图片,方法如下:
        for(int i = 0;i < n ;i++)
            PicArray[i] = LoadICON(AfxGetApp()->m_hInstance,  MAKEINTRESOURCE(IDC_ANIMATE1 + i))
    3 在开始播放的时候设置计时器SetTimer(0,100,NULL)
    4 在MainFrame的OnTimer()函数里面修改当前显示的图标的ID
      m_nFrameNo++;
      DrawAVI();
    5 DrawAVI函数
    void CMainFrame::DrawAVI()
    {

    CRect ClientRect ;
    GetClientRect(&ClientRect);
    if(ClientRect.Width() < 500 || ClientRect.Height() < 40) 
    return ;//当主窗口的宽度和高度不够时就不要画了。
    else
    {
    CDC* pDC = GetDC(); m_AVIRect.top = 2;
    m_AVIRect.left = ClientRect.right - 24;
    m_AVIRect.right = ClientRect.right - 2;
    m_AVIRect.bottom = 24;// pDC->SelectStockObject(BLACK_BRUSH);//设置背景色
    pDC->Rectangle(&m_AVIRect);
    InflateRect(&m_AVIRect,1,1);
    pDC->DrawEdge(&m_AVIRect,EDGE_BUMP,BF_RECT); InflateRect(&m_AVIRect,-4,-4);
                      //以上代码是在播放动画的地方画一个矩形框,增加效果
    m_AVI.CreateFromIcon(m_hMainIconAVI[m_nFrameNo % 11]);
    m_AVI.Render(pDC,m_AVIRect,m_AVIRect);
    ReleaseDC(pDC);
    }
    }void CMainFrame::OnPaint() 
    {
    DrawAVI();
    }
    6 在主窗口改变大小的时候应该重画。
    void CMainFrame::OnSize(UINT nType, int cx, int cy) 
    {
    CMDIFrameWnd::OnSize(nType, cx, cy);

    Invalidate();
    }
    如果要播放真正的AVI文件,有现成的控件,估计自己做也不会很难,如果你有兴趣可以研究一下。