主题:动画显示的问题
我是一个菜鸟,我用以下的程序实现一个通迅的指示动画,但动画只运行10分钟左右就没了,但程序还在运行,请高手大侠们帮我分析看看,谢谢!
void CDisComState::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent == 1)
{
picIndex++;
picIndex = picIndex%5;
CBitmap ComState;
if(picIndex == 0x00)
ComState.LoadBitmap(IDB_BITMAP2);
else if(picIndex == 0x01)
ComState.LoadBitmap(IDB_BITMAP3);
else if(picIndex == 0x02)
ComState.LoadBitmap(IDB_BITMAP4);
else if(picIndex == 0x03)
ComState.LoadBitmap(IDB_BITMAP5);
else //if(picIndex == 0x04)
ComState.LoadBitmap(IDB_BITMAP6);
//m_nPicture.SetBitmap(ComState);
//GetDlgItem(IDC_DISCOM_PICTURE)->SetBitmap((HBITMAP)ComState);
m_nPicture.SetBitmap((HBITMAP)ComState);
ComState.Detach();
CRect rect;
GetDlgItem(IDC_DISCOM_PICTURE)->GetWindowRect(&rect);
InvalidateRect(&rect);
ComState.DeleteObject();
}
else if(nIDEvent == 2)
{
setDlg.m_nCom.SetOutput(COleVariant(setDlg.SerialDataBuf));
}
CDialog::OnTimer(nIDEvent);
}
void CDisComState::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent == 1)
{
picIndex++;
picIndex = picIndex%5;
CBitmap ComState;
if(picIndex == 0x00)
ComState.LoadBitmap(IDB_BITMAP2);
else if(picIndex == 0x01)
ComState.LoadBitmap(IDB_BITMAP3);
else if(picIndex == 0x02)
ComState.LoadBitmap(IDB_BITMAP4);
else if(picIndex == 0x03)
ComState.LoadBitmap(IDB_BITMAP5);
else //if(picIndex == 0x04)
ComState.LoadBitmap(IDB_BITMAP6);
//m_nPicture.SetBitmap(ComState);
//GetDlgItem(IDC_DISCOM_PICTURE)->SetBitmap((HBITMAP)ComState);
m_nPicture.SetBitmap((HBITMAP)ComState);
ComState.Detach();
CRect rect;
GetDlgItem(IDC_DISCOM_PICTURE)->GetWindowRect(&rect);
InvalidateRect(&rect);
ComState.DeleteObject();
}
else if(nIDEvent == 2)
{
setDlg.m_nCom.SetOutput(COleVariant(setDlg.SerialDataBuf));
}
CDialog::OnTimer(nIDEvent);
}