这是使用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);
}
本文介绍了使用SetTimer函数结合回调函数实现窗口颜色交替变化的方法。通过定义TimerProc回调函数并利用SetTimer设置定时器,使得窗口背景在红色与蓝色间每秒切换。

被折叠的 条评论
为什么被折叠?



