VS2010 MFC Dialog设置定时器

本文介绍了如何在MFC应用程序中使用定时器功能。主要内容包括创建启动定时器的方法、响应定时器触发事件的函数编写及如何停止定时器。此外还讨论了如何处理多个定时器的情况。

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



首先创建一个按钮,然后在按钮处理程序中加入:


SetTimer(1,2000,NULL); //创建并启动一个定时器,ID为1,运行间隔为2000毫秒




void CtimerDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//CDialogEx::OnOK();
//启动定时器
SetTimer(1,2000,NULL); //1000毫秒 




}




然后我们为定时器添加响应消息函数OnTimer()


类向导---消息---WM_Timer
编辑OnTimer()函数在其中添加定时器触发事件的实现代码。


void CtimerDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值




MessageBox(L"测试");




CDialogEx::OnTimer(nIDEvent);
}


最后再创建一个按钮命名为STOP,在其中添加释放定时器的代码


void CtimerDlg::OnBnClickedButtonStop()
{
// TODO: 在此添加控件通知处理程序代码


KillTimer(1);  //释放掉ID为1的定时器




}




如果有多个定时器,需要分别处理,我们可以像下面这样处理:


void CtimerDlg::OnTimer(UINT_PTR nIDEvent)      
{      
      
    switch (nIDEvent)      
    {      
    case 1:      
        // 如果收到ID为1的定时器的消息则调用func1函数      
        func1();      
        break;      
    case 2:      
        // 如果收到ID为2的定时器的消息则调用func2函数      
        fun2();    
       break;     
    ......      
    default:      
        break;      
    }      
      
    CDialogEx::OnTimer(nIDEvent);      
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值