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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值