MFC OnTimer() 问题

HICON m_hIcon[3];
分别加载相应的ico图片;
在OnCreat()函数中加入定时器;
{
SetTimer(1,1000,NULL);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
static int index=1;

SetClassLong(m_hWnd,GCL_HICON,(LONG)LoadIcon(AfxGetInstanceHandle(),m_hIcon[index]));
index=++index%3;
CFrameWnd::OnTimer(nIDEvent);

}
我想知道,在OnTimer()函数从上到下执行一次以后又调用哪个函数 ?
还有就是,SetTimer()的第三个参数—回调函数,是指OnTimer()执行结束以后要调用的函数吗?

谢谢 !

OnTimer()其实是用来响应WM_TIMER消息的,其实OnTimer()就是一个回调函数,不过是系统默物历虚认的,当用户使用SetTimer()函数设定一个定时器的时候,只要是第三个参数为NULL,则系统就会调用默认的回调函数OnTimer()。

SetTimer(1,1000,NULL);

这一句就是设定一罩燃个定时器,每1000毫秒发送一次WM_TIMER消息,每次烂厅都会执行一个OnTimer()。

下面的代码演示了使用自定义的回调函数:

// 自定义回调函数
void CALLBACK TimerP(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime){
    cout<<"定时器执行"<<endl ;
}

int main(){
int iId = SetTimer(NULL,0,500,TimerP) ;
MSG msg ;
// 消息循环,从消息队列中获取消息,响应WM_TIMER消息。
while(GetMessage(&msg,NULL,0,0))
{
if(msg.message = WM_TIMER){
DispatchMessage(&msg) ;
}
}
KillTimer(NULL,iId) ;
return 0 ;
}

回调函数是指专门用来执行OnTimer的函数旅辩,空春如果没有指定这个回调函数,那斗镇耐么由窗口响应WM_TIMER消息