|   版权声明:本文为博主原创文章,未经博主允许不得转载。

  SetTimer是一种API函数,位于user32.dll中。你想每隔一段时间执行一件事的的时候,你可以使用它。 使用定时器的方法比

较简单,通常告诉Windows一个时间间隔,然后Windows以此时间间隔周期性触发程序。通常有两种方法来实现:发送

WM_TIMER消息和调用应用程序定义的回调函数。不需要指定定时器时,可以调用对应的KillTimer函数销毁指定的时钟。(也就是

说你在某个函数中使用了SetTimer函数的话,并且指定了时间间隔,那么程序运行是每个一段时间就会执行它)

  要使用SetTimer函数那么我们首先要在函数体内添加每一个timer的处理代码;也就是在OnTimer()函数实现,这个函数我们要

自己来实现,下面的函数OnTimer()需通过ClassWizard(Ctrl+W)来添加;如下图操作:

  上面的步骤完成之后,在CPandaPlayer.cpp中就会自动生成一个OnTimer()的函数;如下

 void CPandaPlayerDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//在这里我们添加自己的实现
CDialog::OnTimer(nIDEvent);
}

  

  如下实现:

 void CPandaPlayerDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case :
switch(model)
{
case :
KillTimer();
//函数代码省略
......
break;
case :
KillTimer();
//函数代码省略
......
break;
default:
MessageBox(_T("出错!即将退出程序!"),_T("ERROR"),MB_OK);
exit();
break;
}
break;
}
CDialog::OnTimer(nIDEvent);
}

  实现上面的OnTimer()函数之后,我们就可使用SetTimer()函数来实现我们自己的功能了;如下示例:

 //播放函数
void CPandaPlayerDlg::OnPlay()
{
// TODO: Add your control notification handler code here
m_MediaControl.play();
SetTimer(,,NULL);
}

  *说明:0:计时器的名称;20:时间间隔,单位是毫秒;NULL:使用OnTimer函数(第三个参数就是回调函数地址)。

  上面我们设置了SetTimer()函数,当我们不需要了的时候我们可以通过KillTimer(nIDEvent)函数来取消计时器。

 case :
KillTimer();
//此处代码省略
.......
break;

百度百科关于此函数的介绍,链接:  SetTimer

最新文章

  1. live555库中的testH264VideoStreamer实例
  2. mysql 判断 字段是否为空
  3. windows服务的创建、安装、调试全过程及引发的后续学习
  4. rabbitMQ Connection timed out
  5. 吃豆子(Packman)
  6. C#综合揭秘——细说多线程(上)
  7. 用wget实现cookie欺骗
  8. ORACLE CONTROL FILE 笔记
  9. java--面向接口编程
  10. js添加、删除Cookie
  11. DIV+CSS解决IE6,IE7,IE8,FF兼容问题(转至http://www.douban.com/note/163291324/)
  12. swift 实践- 02 -- 自定义cell 的简单使用
  13. Java15-java语法基础(十五)——内部类
  14. python+ajaxFileUpload 无刷新上传文件
  15. nginx安装以及常用配置
  16. InlineModelAdmin对象的学习
  17. MySQL中MyISAM与InnoDB区别及选择,mysql添加外键
  18. Linux 环境部署记录(一) - 基础设定
  19. Hive学习之路 (七)Hive的DDL操作
  20. 国外程序员整理的Java资源大全

热门文章

  1. 有根树的表达 Aizu - ALDS1_7_A: Rooted Trees
  2. asp.net的处理机制(.ashx/.aspx)
  3. django-2-目录结构
  4. Java解释器模式`
  5. Vue.config.silent = true
  6. leetcode.图.207课程表-Java
  7. UVALive 4992 Jungle Outpost(半平面交判存)
  8. java树的遍历
  9. 关于dom获取元素的几种方式
  10. macos系统安装nginx