vc定时器用法

本文介绍了VC++中定时器的使用,包括SetTimer函数用于创建定时器,设置延迟时间,以及OnTimer函数处理定时事件。当定时时间到后,OnTimer事件会被触发。示例代码展示了如何在事件处理后销毁定时器,以防止重复执行。通过KillTimer函数可以停止定时器。

定时器的使用无非一个创建定时器函数SetTimer(ID_TIMER, TimeDelay, NULL);一个接收消息,并处理函数

.h

afx_msg void OnTimer(UINT nIDEvent);

.cpp

void CMyDialog::OnTimer(UINT nIDEvent)

{
 // TODO: Add your message handler code here and/or call default
    if (nIDEvent == ID_TIMER)

    {

//Write u want

    }

    CDialog::OnTimer(nIDEvent);

}

一个销毁定时器函数KillTimer(ID_TIMER);

这三个函数所能达到的效果就是从你SetTimer开始,经过TimeDelay时间后,执行OnTimer的事件.

demo 1;

.h

afx_msg void OnTimer(UINT nIDEvent);

.cpp

ON_WM_TIMER()

//触发

KillTimer(ID_TIMER);

SetTimer(ID_TIMER, 500, NULL);

void CMyDialog::OnTimer(UINT nIDEvent)

{
 // TODO: Add your message handler code here and/or call default
    if (nIDEvent == ID_TIMER)

    {

//Write u want

    }

    CDialog::OnTimer(nIDEvent);

}

问题:时间不准确,具体自行测试感受

demo 2;

.h

afx_msg void OnTimer(UINT nIDEvent);

.cpp

ON_WM_TIMER()

//触发

KillTimer(ID_TIMER);

SetTimer(ID_TIMER, 500, NULL);

void CMyDialog::OnTimer(UINT nIDEvent)

{
 // TODO: Add your message handler code here and/or call default
    if (nIDEvent == ID_TIMER)

    {

//Write u want

KillTimer(ID_TIMER);

    }

    CDialog::OnTimer(nIDEvent);

}

时间准确
01-22 2989
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值