MFC学习之路十三之定时器的使用

简介: MFC学习之路十三之定时器的使用

1、定时器的介绍:

1、设置定时器:CWnd::SetTimer()

2)关闭定时器:CWnd::KillTimer() //括号里加入定时器id即可。

3)定时器消息:WM_TIMER

2、原理:SetTimer()函数每隔一段时间调用一次OnTimer()函数。

  • 创建消息WM_CREATE(设置一个定时器)
int CMFCApplication3Dlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
  if (CDialogEx::OnCreate(lpCreateStruct) == -1)
    return -1;
    //说明每隔500毫秒,调用一次消息WM_TIMER
        //1:定时器id
        //500:时间间隔,单位(毫秒)
        //NULL:使用系统默认的处理函数,每隔500毫秒处理消息WM_TIMER
        SetTimer(1 , 1000 , NULL);
    return 0;
}
  • 创建消息WM_TIMER(定时器功能实现)
void CMFCApplication3Dlg::OnTimer(UINT_PTR nIDEvent)
{
  // TODO: 在此添加消息处理程序代码和/或调用默认值
  if( nIDEvent==1)  //作用是:如果有多个定时器,可以通过括号里面id区分
   {
  static int i = 0 ;
  i++;
  CString str;
  str.Format("TEXT(%d)",i);
    if(i ==5 )
      {
      KillTimer(1);
      }
    MessageBox(str);
  }
  CDialogEx::OnTimer(nIDEvent);
}

效果:

目录
相关文章
|
2月前
|
安全
【JaveEE】——(手把手教你)用IDEA手搓一个定时器Timer
手把手教你用IDEA自己实现一个定时器,IDEA中的定时器,schedule方法,实现过程中引发的线程安全问题和解决方式,
|
9月前
|
安全 Java
Java多线程基础-10:代码案例之定时器(一)
`Timer` 是 Java 中的一个定时器类,用于在指定延迟后执行指定的任务。它常用于实现定时任务,例如在网络通信中设置超时或定期清理数据。`Timer` 的核心方法是 `schedule()`,它可以安排任务在延迟一段时间后执行。`
165 1
|
9月前
|
Java 调度
Java多线程基础-10:代码案例之定时器(二)
Java 多线程基础中,定时器(Timer)的实现通常使用 `PriorityBlockingQueue` 和 `wait/notify` 机制来管理任务。
62 0
|
9月前
Qt6学习笔记十一(计时器事件)
Qt6学习笔记十一(计时器事件)
111 0
Qt6学习笔记十一(计时器事件)
《QT从基础到进阶·二十五》界面假死处理
《QT从基础到进阶·二十五》界面假死处理
249 0
《QT从基础到进阶·二十五》界面假死处理
|
9月前
|
存储 消息中间件 API
FreeRTOS深入教程(软件定时器源码分析)
FreeRTOS深入教程(软件定时器源码分析)
270 0
《QT从基础到进阶·十九》QThread多线程使用
《QT从基础到进阶·十九》QThread多线程使用
173 0
|
Go 调度
计时器的生命周期 | 青训营笔记
计时器的生命周期 | 青训营笔记
116 0
|
存储 文件存储
消息窗体的输入输出,断点调试方法【VB学习笔记2020课堂版02】
消息窗体的输入输出,断点调试方法【VB学习笔记2020课堂版02】
114 0
消息窗体的输入输出,断点调试方法【VB学习笔记2020课堂版02】

热门文章

最新文章