把m_tempR=0;去掉,不执行SetTimer,KillTimer,则正常
请指点,谢谢CRealTimeView::CRealTimeView()
{
m_tempR=0; //m_tempR是int型成员变量
}
void CRealTimeView::OnTimer(UINT nIDEvent)
{
m_tempR+=10;
if(!nIDEvent==0)
{
CDC *pDC=GetDC();
CPen pen(PS_SOLID,2,RGB(255,255,0));
CPen *oldpen=pDC->SelectObject(&pen);
pDC->MoveTo(0,0);
pDC->LineTo(m_tempR,m_tempR);
pDC->SelectObject(&oldpen);
ReleaseDC(pDC);
}
CView::OnTimer(nIDEvent);
}void CRealTimeView::OnInitialUpdate()
{
CView::OnInitialUpdate();
SetTimer(1,2000,NULL);
}
CRealTimeView::~CRealTimeView()
{
KillTimer(1);
}
请指点,谢谢CRealTimeView::CRealTimeView()
{
m_tempR=0; //m_tempR是int型成员变量
}
void CRealTimeView::OnTimer(UINT nIDEvent)
{
m_tempR+=10;
if(!nIDEvent==0)
{
CDC *pDC=GetDC();
CPen pen(PS_SOLID,2,RGB(255,255,0));
CPen *oldpen=pDC->SelectObject(&pen);
pDC->MoveTo(0,0);
pDC->LineTo(m_tempR,m_tempR);
pDC->SelectObject(&oldpen);
ReleaseDC(pDC);
}
CView::OnTimer(nIDEvent);
}void CRealTimeView::OnInitialUpdate()
{
CView::OnInitialUpdate();
SetTimer(1,2000,NULL);
}
CRealTimeView::~CRealTimeView()
{
KillTimer(1);
}
CString
Com error
un delete array
都占用系统资源,少用为好。。
这个时候已经没有窗口了。
message标签下选WM_DESTROY,再Add function,OK,在该函数中添加代码KillTimer(1);
,It run ok now, could I make it like this?
void CRealTimeView::OnFinalRelease()
{
KillTimer(1);
CView::OnFinalRelease();
}
KillTimer();
原因:_AFXWIN_INLINE BOOL CWnd::KillTimer(int nIDEvent)
{ ASSERT(::IsWindow(m_hWnd)); return ::KillTimer(m_hWnd, nIDEvent); }在析构函数中m_hWn已经被关闭