MFC实例:[9] Timer定时器的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunjikui1255326447/article/details/89075579

MFC实例:[9] Timer定时器的使用

1、打开vs2017---》文件----》新建---》项目(基于对话框)

2、打开资源文件---》打开设计框:

3、删除“TODO: Place dialog controls here.”静态文本控件。添加两个静态文本框控件,Caption分别设为“1秒钟刷新一次”和“2秒钟刷新一次”,再添加两个个Edit Control控件,ID使用默认的IDC_EDIT1和IDC_EDIT2,两者的Read Only属性都设为True。此时的对话框模板如下图:

4、在对话框模板上双击OK按钮,添加点击消息的处理函数:

void CMFCTimerDlg::OnBnClickedOk()
{

	// TODO: 在此添加控件通知处理程序代码
	m_nData1 = 0;
	m_nData2 = 0;
	// 启动ID为1的定时器,定时时间为1秒   

	SetTimer(1, 1000, NULL);
	// 启动ID为2的定时器,定时时间为2秒   
	SetTimer(2, 2000, NULL);

	// CDialogEx::OnOK();注释掉,防止退出
}

5、添加定时器重载:

6、在函数中添加代码:


void CMFCTimerDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	switch (nIDEvent)
	{
	case 1:
		// 如果m_nData1已经达到10,则销毁ID为1的定时器   
		if (10 == m_nData1)
		{
			KillTimer(1);
			break;
		}
		// 刷新编辑框IDC_EDIT1的显示   
		SetDlgItemInt(IDC_EDIT1, ++m_nData1);
		break;
	case 2:
		// 如果m_nData2已经达到5,则销毁ID为2的定时器   
		if (5 == m_nData2)
		{
			KillTimer(2);
			break;
		}
		// 刷新编辑框IDC_EDIT2的显示   
		SetDlgItemInt(IDC_EDIT2, ++m_nData2);
	default:
		break;
	}

	CDialogEx::OnTimer(nIDEvent);
}

7、运行结果:

8、工程地址:

链接:https://pan.baidu.com/s/1f2XhfjXkUTyDSBkNIB7f5A 
提取码:87br 

猜你喜欢

转载自blog.csdn.net/sunjikui1255326447/article/details/89075579