????1.1 ??WM_TIMER??????????

????????SetTimer???API?????????
UINT_PTR   SetTimer(
HWND   hWnd??   //   ??????
UINT_PTR   nIDEvent??   //   ?????ID??????????????????????ID?ж???????????
UINT   uElapse??   //   ????????λ?????
TIMERPROC   lpTimerFunc   //   ???????
);

????????

????SetTimer(m_hWnd??1??1000??NULL);   //???1??????ε?????

??????MFC??????SetTimer???????CWnd???У????ò??????????????????磺

????UINT   SetTimer(1??100??NULL);

????????????????????????1?????????????ID???

????????????????????100????????????′?????Ρ???????????????????????????NULL??

???????????????????????????????????????????????????????????

????1.2 ??????????

?????????????д?????????????????

????void   CALLBACK   TimerProc(HWND   hWnd??UINT   nMsg??UINT   nTimerid??DWORD   dwTime);

???????????SetTimer(1??100??TimerProc)?????????????????????????????????????????

????2????????????????????

????????????????????????????ID?????????????????ID???????????

?????????MFC??????????WM_TIMER?????WPARAM   wParam?е?????????????ID

???????MFC???????????????????WM_TIME????????????OnTimer???????????????
void   CTimerTestDlg::OnTimer(UINT   nIDEvent)
{
switch   (nIDEvent)
{
case   24:   ///????ID?24??????
Draw1();
break;
case   25:   ///????ID?25??????
Draw2();
break;
}
CDialog::OnTimer(nIDEvent);
}

?????????????????????????????nTimerid??????ж????????????????磺
void   CALLBACK   TimerProc(HWND   hWnd??UINT   nMsg??UINT   nTimerid??DWORD   dwTime)
{
switch(nTimerid)
{
case   1:   ///????ID?1??????
Do1();
break;
case   2:   ///????ID?2??????
Do2();
break;
}
}