MFC中的KillTimer
在Dialog中添加一个Timer。
用如下的代码停用一个Timer总是不好用:
|
void CDialog2::OnTimer (UINT TimerVal) { ////////////////////////////////////////////// // // Stop the timer // //////////////////////////////////////////////
//MessageBox(TEXT("TIMER"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL);
if (!::KillTimer(NULL,TimerVal)) { MessageBox(TEXT("Unable to stop timer"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL); }
////////////////////////////////////////////// // // Process the event //
//////////////////////////////////////////////
////////////////////////////////////////////// // // Restart the timer, if needed, before exiting // //////////////////////////////////////////////
} |
弄了半天,发现用下面的代码就可以成功。
|
void CDialog2::OnTimer (UINT TimerVal) { ////////////////////////////////////////////// // // Stop the timer // //////////////////////////////////////////////
//MessageBox(TEXT("TIMER"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL);
if (!KillTimer(TimerVal)) { MessageBox(TEXT("Unable to stop timer"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL); }
////////////////////////////////////////////// // // Process the event //
//////////////////////////////////////////////
////////////////////////////////////////////// // // Restart the timer, if needed, before exiting // //////////////////////////////////////////////
} |
另外根据MSDN, KillTimer对已经发到Message queue的Timer消息不能杀死。

(MSDN链接:https://msdn.microsoft.com/en-us/library/windows/desktop/ms644903(v=vs.85).aspx )
所以比如如下的代码,会弹出一次对话框。
|
void CDialog2::OnTimer (UINT TimerVal) { ////////////////////////////////////////////// // // Stop the timer // //////////////////////////////////////////////
//MessageBox(TEXT("TIMER"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL);
if (!KillTimer(TimerVal)) { MessageBox(TEXT("Unable to stop timer"), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL); }
MessageBox(TEXT("timer here."), TEXT("IDT_TIMER_0"), MB_OK|MB_SYSTEMMODAL);
////////////////////////////////////////////// // // Process the event //
//////////////////////////////////////////////
////////////////////////////////////////////// // // Restart the timer, if needed, before exiting // //////////////////////////////////////////////
} |
MFC中的KillTimer的更多相关文章
- GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)
带插件的排序算法演示器 请尊重本人的工作成果,转载请留言.并说明转载地址,谢谢. 地址例如以下: http://blog.csdn.net/fukainankai/article/details/27 ...
- MFC中使用FLASH
一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约 ...
- MFC中换行实现
在mfc中编辑框允许输入多行时,换行符被表示为<归位><换行>即"\r\n",用ascii码表示为13 10 如果为编辑框中想要输入换行,就请将编辑框的属性 ...
- MFC中的各种DC区别
转载自:xntop的<区别MFC中的CClientDC.CWindowDC.CPaintDC.CMetaFileDC> CClientDC及其子类 1. CClientDC类只能在客户区绘 ...
- VC++ MFC中如何将应用程序的配置信息保存到注册表中(二)
在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息 ...
- MFC中对话框类(Dialog)的应用
转载http://hi.baidu.com/jackywdx/item/feee8041d2c2e12310ee1e85 Windows应用程序通常是通过对话框接收用户输入.向用户输出信息,本节介绍应 ...
- MFC中添加消息响应函数
转自:http://blog.csdn.net/eddy_liu/article/details/8474677 目前,用MFC设计的Windows应用程序几乎都采用文档/视图结构.这种程序框架与简单 ...
- MFC中使用Duilib--2
在上一篇文章"MFC中使用Duilib--1"中, 没有用到资源文件,即xml,本篇讲怎样加载文件. 1. 在exe输出目录下,创建一个skin目录,里面放入需要用到的图片文件, ...
- MFC中,如何自定义用户消息
1.用处 在多个类之间传递消息.当需要响应用户操作,本类却无法实现时,可以向系统发出消息.然后让系统中的需要的位置实现它. 2.方法 2.1定义这个消息,并让拥有者发送这个这个消息,传递一个整型参数 ...
随机推荐
- JavaWeb系列之八(Cookie&Session)
1.jsp的入门 jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令 ...
- Leetcode 234 Palindrome Linked List 复杂度为时间O(n) 和空间(1)解法
1. 问题描写叙述 给定一个单链表,推断其内容是不是回文类型. 比如1–>2–>3–>2–>1.时间和空间复杂都尽量低. 2. 方法与思路 1)比較朴素的算法. 因为给定的数据 ...
- ASP.NET Web API中通过ETag实现缓存
通常情况下Server是无状态的,在ASP.NET Web API中,我们可以让服务端响应体中产生ETag属性,起到缓存的作用.大致实现原理是: 1.服务端的响应体中返回一个ETag属性2.客户端通过 ...
- ASP.NET Web API实践系列05,消息处理管道
ASP.NET Web API的消息处理管道可以理解为请求到达Controller之前.Controller返回响应之后的处理机制.之所以需要了解消息处理管道,是因为我们可以借助它来实现对请求和响应的 ...
- redis哈希缓存数据表
redis哈希缓存数据表 REDIS HASH可以用来缓存数据表的数据,以后可以从REDIS内存数据库中读取数据. 从内存中取数,无疑是很快的. var FRedis: IRedisClient; F ...
- layoutSubviews 在什么情况下会被触发
layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews 2.addSubview会触发layoutSubviews 3.设置view的Frame会触 ...
- Javascript 身份证号获得出生日期、获得性别、检查身份证号码
//---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...
- 每天一个linux命令-curl命令
下载文件 如果我们想要下载文件,而不是查看,那么可以使用如下命令: curl -O http://mif.polimercolor.ru/mifsoft/MDict.zip 以上命令会下载文件并以原名 ...
- 趣谈Java变量的可见性问题
了解过多线程的我们,对synchorized,sleep和valatile都比较了解,但是当这三个名词和“Java变量得可见性”的话题联系在一起不知道大家是否还可以保持大脑清晰??? 最近看到一个关于 ...
- nvidia Compute Capability(GPU)
GPU Compute Capability NVIDIA TITAN X 6.1 GeForce GTX 1080 6.1 GeForce GTX 1070 6.1 GeForce GTX 1060 ...