1.timer 来进行相应的计时。
setTimer, killTimer
利用wm_timer消息来进行相应消息的传递。
相应的时间的处理过程是函数指针(回调函数);typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD);
从而需要自定义一个相应的函数来进行处理。
void CALLBACK TimerProc1(HWND hwnd,UINT umsg,UINT iTimerId,DWORD dwTime);
当多个timer时:
SetTimer(hWnd,TIMERID1,100,TimerProc1);
SetTimer(hWnd,TIMERID2,123,TimerProcTwo);
KillTimer(hWnd,TIMERID1);
KillTimer(hWnd,TIMERID2);
相应的处理函数
void CALLBACK TimerProc1(HWND hwnd,UINT umsg,UINT iTimerId,DWORD dwTime)
{
HDC hdc;
char buf[20];
memset(buf,'/0',20);
g_Count++;
hdc = GetDC(hwnd);
itoa(g_Count,buf,10);
TextOut(hdc,10,10,buf,20);
ReleaseDC(hwnd,hdc);
return;
}
void CALLBACK TimerProcTwo(HWND hwnd,UINT msg,UINT iTimerId,DWORD dwtime)
{
OutputDebugString("hello world/n");
}
如果不利用回调函数的化可以使用wm_timer来进行处理
wparam来辨别是那个timer来进行相应的处理
case WM_TIMER:
{
switch(wParam)//-------------------------在这个地方进行相应的处理
{
case TIMERID1:
{
HDC hdc;
char buf[20];
memset(buf,'/0',20);
g_Count++;
hdc = GetDC(hWnd);
itoa(g_Count,buf,10);
TextOut(hdc,10,10,buf,20);
ReleaseDC(hWnd,hdc);
break;
}
case TIMERID2:
{
OutputDebugString("hello world/n");
break;
}
default:
break;
}