AviStatic.cpp
上传用户:trilite
上传日期:2007-04-24
资源大小:261k
文件大小:1k
源码类别:

酒店行业

开发平台:

Visual C++

  1. // AviStatic.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "parksys.h"
  5. #include "AviStatic.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CAviStatic
  13. CAviStatic::CAviStatic()
  14. :m_uTimerID(0)
  15. ,m_nIndex(0)
  16. {
  17. for (int i = 0
  18. ; i < sizeof(m_bmpBitmaps) / sizeof(m_bmpBitmaps[0])
  19. ; i++)
  20. {
  21. m_bmpBitmaps[i].LoadBitmap(BMP_IDS[i]);
  22. }
  23. }
  24. CAviStatic::~CAviStatic()
  25. {
  26. if (0 != m_uTimerID)
  27. KillTimer(m_uTimerID);
  28. }
  29. BEGIN_MESSAGE_MAP(CAviStatic, CStatic)
  30. //{{AFX_MSG_MAP(CAviStatic)
  31. ON_WM_TIMER()
  32. //}}AFX_MSG_MAP
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CAviStatic message handlers
  36. void CAviStatic::Play()
  37. {
  38. m_uTimerID = this->SetTimer(1, 250, NULL);
  39. }
  40. void CAviStatic::Pause()
  41. {
  42. if ( 0 != m_uTimerID)
  43. {
  44. this->KillTimer(m_uTimerID);
  45. }
  46. m_uTimerID = 0;
  47. }
  48. void CAviStatic::Stop()
  49. {
  50. Pause();
  51. m_nIndex = 0;
  52. this->SetBitmap((HBITMAP)m_bmpBitmaps[m_nIndex].m_hObject);
  53. }
  54. void CAviStatic::OnTimer(UINT nIDEvent) 
  55. {
  56. // TODO: Add your message handler code here and/or call default
  57. SetBitmap(m_bmpBitmaps[++m_nIndex]);
  58. if (m_nIndex >= sizeof(m_bmpBitmaps) / sizeof(m_bmpBitmaps[0]))
  59. {
  60. Stop();
  61. }
  62. CStatic::OnTimer(nIDEvent);
  63. }