这是使用SetTimer的第二种方法-----回调函数
下面是几行关键的代码
VOID CALLBACK TimerProc(HWND,UINT,UINT,DWORD);//定义回调函数
SetTimer(hwnd,ID_TIMER,1000,TimerProc);//设置计时器,并调用回调函数
//回调函数实现
void CALLBACK TimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime)
{
static BOOL fFlipFlop=FALSE;
HBRUSH hBrush;
HDC hdc;
RECT rc;
MessageBeep(-1);
fFlipFlop=!fFlipFlop;
GetClientRect(hwnd,&rc);
hdc=GetDC(hwnd);
hBrush=CreateSolidBrush(fFlipFlop?RGB(255,0,0):RGB(0,0,255));
FillRect(hdc,&rc,hBrush);
ReleaseDC(hwnd,hdc);
DeleteObject(hBrush);
}
来源:CSDN
作者:l0g1n
链接:https://blog.csdn.net/l0g1n/article/details/7495577