《Windows程序设计》之计时器2

这是使用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);
}


你可能感兴趣的:(timer,windows,callback)