AnimPic.cpp
上传用户:zslianheng
上传日期:2013-04-03
资源大小:946k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Visual C++

  1. /***************************************************************************
  2.  *                                                                         *
  3.  *   This program is free software; you can redistribute it and/or modify  *
  4.  *   it under the terms of the GNU General Public License as published by  *
  5.  *   the Free Software Foundation; either version 2 of the License, or     *
  6.  *   (at your option) any later version.                                   *
  7.  *                                                                         *
  8.  *   copyright            : (C) 2002 by Zhang Yong                         *
  9.  *   email                : z-yong163@163.com                              *
  10.  ***************************************************************************/
  11. // AnimPic.cpp : implementation file
  12. //
  13. #include "stdafx.h"
  14. #include "myicq.h"
  15. #include "AnimPic.h"
  16. #ifdef _DEBUG
  17. #define new DEBUG_NEW
  18. #undef THIS_FILE
  19. static char THIS_FILE[] = __FILE__;
  20. #endif
  21. #define IDT_ANIMATE 1001
  22. /////////////////////////////////////////////////////////////////////////////
  23. // CAnimPic
  24. CAnimPic::CAnimPic()
  25. {
  26. frame = 0;
  27. }
  28. CAnimPic::~CAnimPic()
  29. {
  30. }
  31. void CAnimPic::start()
  32. {
  33. SetTimer(IDT_ANIMATE, 400, NULL);
  34. OnTimer(IDT_ANIMATE);
  35. }
  36. void CAnimPic::stop()
  37. {
  38. KillTimer(IDT_ANIMATE);
  39. }
  40. BEGIN_MESSAGE_MAP(CAnimPic, CStatic)
  41. //{{AFX_MSG_MAP(CAnimPic)
  42. ON_WM_TIMER()
  43. //}}AFX_MSG_MAP
  44. END_MESSAGE_MAP()
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CAnimPic message handlers
  47. void CAnimPic::OnTimer(UINT nIDEvent) 
  48. {
  49. if (nIDEvent == IDT_ANIMATE) {
  50. CImageList &imageList = getApp()->largeImageList;
  51. SetIcon(imageList.ExtractIcon(frame));
  52. if (++frame >= getApp()->nrFaces)
  53. frame = 0;
  54. } else
  55. CStatic::OnTimer(nIDEvent);
  56. }