知识点:
定时器Timer
创建定时器
销毁定时器
代码测试 一、 创建定时器 UINT SetTimer( HWND hWnd, // 指定关联定时器的窗口句柄,在MFC版将省略此参数 UINT nIDEvent, // 定时器ID
UINT uElapse, // 时间间隔 单位毫秒 TIMERPROC lpTimerFunc //定时器回调函数地址 ); 定时器回调函数格式 VOID CALLBACK TimerProc( HWND hwnd, // handle of window for timer messages UINT uMsg, // WM_TIMER message UINT idEvent, // timer identifier DWORD dwTime // current system time
); 二、 销毁定时器
BOOL KillTimer( HWND hWnd, // handle of window that installed timer
在MFC版将省略此参数 UINT uIDEvent // timer identifier ); 三、 代码测试
//实时显示 当前时间 参考C语言053课
time_t t;
time(&t);
tm *TimeInfo=localtime(&t);
m_sTime.Format(L"%02d:%02d:%02d",TimeInfo->tm_hour,TimeInfo->tm_min,TimeInfo->tm_sec); //代码
// CDialog_Timer 消息处理程序
void CALLBACK EXPORT TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT nIDEvent, // timer identification
DWORD dwTime // system time
)
{ if (nIDEvent==myTimerID) //
{
//执行代码
TRACE("my TimerProc %d\n",dwTime);
//显示当前时间
time_t t;
time(&t);
tm *timeinfo=localtime(&t);
TRACE("%02d:%02d:%02d",timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec); }
} void CDialog_Timer::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//SetTimer(1001,1000,NULL);//WM_TIMER
SetTimer(,,TimerProc);//不产生WM_TIMER
} LRESULT CDialog_Timer::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
//if (message==WM_TIMER)
//{
// if (wParam==myTimerID) //
// {
// //执行代码
// TRACE("1111111111\n");
// //显示当前时间
// time_t t;
// time(&t);
// tm *timeinfo=localtime(&t);
// m_sTime.Format(L"%02d:%02d:%02d",timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
// UpdateData(false);
// } //}
return CDialog::WindowProc(message, wParam, lParam);
} void CDialog_Timer::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
KillTimer(myTimerID);//销毁定时器
} void CDialog_Timer::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nIDEvent==myTimerID) //
{
//执行代码
TRACE("1111111111\n");
//显示当前时间
time_t t;
time(&t);
tm *timeinfo=localtime(&t);
m_sTime.Format(L"%02d:%02d:%02d",timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
UpdateData(false);
}
CDialog::OnTimer(nIDEvent);
}

MFC Timer定时器的更多相关文章

  1. C#中WebService 的 Timer定时器过段时间后自动停止运行

    我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位! 我是在.n ...

  2. asp.net中Timer定时器在web中无刷新的使用

    最近在做一个项目的时候,web端的数据需要与数据源进行实时同步,并保证数据的准确性,当时,考虑到使用ajax异步刷新技术.但后来在网上查找相关资料时,发现这样做,太浪费资源了,因为ajax的提交请求不 ...

  3. JAVA Timer定时器使用方法(二)

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

  4. C#中Timer定时器的使用示例

    关于C#中timer类 在C#里关于定时器类就有3个: 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...

  5. MFC中和定时器使用

    在MFC中和定时器相关的有三个函数: 1.设置定时器(定义一个定时器的属性):         SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBAC ...

  6. [Python 多线程] Timer定时器/延迟执行、Event事件 (七)

    Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征.这个类用来定义多久执行一个函数. 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都可以cance ...

  7. 浅析linux内核中timer定时器的生成和sofirq软中断调用流程(转自http://blog.chinaunix.net/uid-20564848-id-73480.html)

    浅析linux内核中timer定时器的生成和sofirq软中断调用流程 mod_timer添加的定时器timer在内核的软中断中发生调用,__run_timers会spin_lock_irq(& ...

  8. 浅析linux内核中timer定时器的生成和sofirq软中断调用流程【转】

    转自:http://blog.chinaunix.net/uid-20564848-id-73480.html 浅析linux内核中timer定时器的生成和sofirq软中断调用流程 mod_time ...

  9. .net中 Timer定时器

    作者:feiying008 在开发一套视觉系统时,发现系统内存一直不断增加,直至系统内存爆满.一开始还以为是程序内存泄露,是图像操作算法写的有问题,但是,发现如果电机轴如果 不运行的状态下,每隔一秒进 ...

随机推荐

  1. Hive lateral view explode

    select 'hello', x from dual lateral view explode(array(1,2,3,4,5)) vt as x 结果是: hello   1 hello   2 ...

  2. Problem1-Project Euler

    Problem1-Project Euler Multiples of 3 and 5   If we list all the natural numbers below 10 that are m ...

  3. 分布式事务实现-Percolator

    Google为了解决网页索引的增量处理,以及维护数据表和索引表的一致性问题,基于BigTable实现了一个支持分布式事务的存储系统.这里重点讨论这个系统的分布式事务实现,不讨论percolator中为 ...

  4. 微信小程序审核 出现85085 提交审核数量过多问题

    前段时间发布了一个新版本小程序(错误代码:85085,说明:submit audit reach limit, please try later hint: [OKYBha04570729]),由于我 ...

  5. Linux yum源详解

    软件包安装方式 0.默认从官网下载包(国内,雅虎,网易,阿里云)        cat /etc/yum.repos.d/rhel-source.repo  [yum文件目录--redhat6版] [ ...

  6. python使用mechanize模拟登陆新浪邮箱

    mechanize相关知识准备: mechanize.Browser()<br># 设置是否处理HTML http-equiv标头 set_handle_equiv(True)<br ...

  7. PyQt5--InputDiaglog

    # -*- coding:utf-8 -*- ''' Created on Sep 14, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...

  8. Win8下IIS的安装和站点的公布

    版权声明:本文为博主原创文章,不经博主同意注明链接就可以转载. https://blog.csdn.net/Senior_lee/article/details/32939411         之前 ...

  9. 添加外键式异常 1215-cannot add foreign key constranint

    添加外键时报错,原因是添加外键的表的字段的字段类型不一致 比如我的第一张表id是int类型,添加约束的dep_id是bigint类型,所以报错,只要把两张表添加约束的字段类型改成统一的即可 本人大学生 ...

  10. 信号处理开源库SP++介绍

    SP++ (Signal Processing in C++) 是一个关于信号处理与数值计算的开源 C++程序库,该库提供了信号处理与数值计算中常用算法的 C++实现.SP++中所有算法都以 C++类 ...