www.pudn.com > 200518174534292.rar > AviStatic.cpp


// AviStatic.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "parksys.h" 
#include "AviStatic.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CAviStatic 
CAviStatic::CAviStatic() 
	:m_uTimerID(0) 
	,m_nIndex(0) 
{	 
	for (int i = 0 
		; i < sizeof(m_bmpBitmaps) / sizeof(m_bmpBitmaps[0]) 
		; i++) 
	{ 
		m_bmpBitmaps[i].LoadBitmap(BMP_IDS[i]); 
	} 
} 
 
CAviStatic::~CAviStatic() 
{ 
	if (0 != m_uTimerID) 
		KillTimer(m_uTimerID); 
} 
 
 
BEGIN_MESSAGE_MAP(CAviStatic, CStatic) 
	//{{AFX_MSG_MAP(CAviStatic) 
	ON_WM_TIMER() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CAviStatic message handlers 
 
void CAviStatic::Play() 
{ 
	m_uTimerID = this->SetTimer(1, 250, NULL); 
} 
 
void CAviStatic::Pause() 
{ 
	if ( 0 != m_uTimerID) 
	{ 
		this->KillTimer(m_uTimerID); 
	} 
	m_uTimerID = 0; 
	 
} 
 
void CAviStatic::Stop() 
{ 
	Pause(); 
	m_nIndex = 0; 
	this->SetBitmap((HBITMAP)m_bmpBitmaps[m_nIndex].m_hObject); 
	 
} 
 
void CAviStatic::OnTimer(UINT nIDEvent)  
{ 
	// TODO: Add your message handler code here and/or call default 
	SetBitmap(m_bmpBitmaps[++m_nIndex]); 
	if (m_nIndex >= sizeof(m_bmpBitmaps) / sizeof(m_bmpBitmaps[0])) 
	{ 
		Stop(); 
	} 
	CStatic::OnTimer(nIDEvent); 
}