MFC控件 定时器

这篇博客介绍了如何在MFC应用程序中使用Static控件显示时间,并结合定时器实现时间倒计时。首先创建一个Static控件,设置ID和初始文字。然后在对话框的WM_TIMER消息中添加OnTimer()函数,定义定时器ID并设置初始间隔。在OnInitDialog()中启动定时器,并在OnTimer()函数内更新剩余时间,当时间到0则停止定时器。
摘要由CSDN通过智能技术生成

Static控件

写一个Static控件,ID设置为【IDC_STATIC_TIME】,添加成员变量为【m_szTime】,描述文字写成【时间:还剩 30 秒】

定时器初始化

在主界面对话框的【属性】-【消息】,选择【WM_TIMER】增加一个【OnTimer()】。

在对话框的【.cpp】文件最顶部定义一个宏【#define TIMER_ELAPSE_ID 100】

在OnInitDialog()函数中增加【SetTimer(TIMER_ELAPSE_ID, 1*1000, NULL);】

但是在控件显示前,要对static进行初始化,需要写【m_szTime = _T(“时间:还剩 30 秒”);】

BOOL CMFC08OnTimerDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO: 在此添加额外的初始化代码
	m_szTime = _T("时间:还剩 30 秒");
	UpdateData(FALSE);
	SetTimer(TIMER_ELAPSE_ID, 1 * 1000, NULL);

	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

OnTimer

在OnTimer()函数里添加代码。

m_lefttime是自定义为30秒,每次都会减少。当减少为0,就退出定时器。

void CMFC08OnTimerDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	// TODO: Add your message handler
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值