MFC 中设置定时器Timer的方法
2014-07-26 17:04
190 查看
在用settimer之前要知道;
1.同1个 settimer(,,)在一个循环里设置一次就行了,要是让其不断的set,是很可能执行不到ontimer()消息处理函数的,因为每次set都重新计时;
2.计时完毕,执行ontimer(),然后会重新计时的;
3.要销毁计时,用killtimer,要是想再计时,那就再settimer咯。
下面开始:
首先,要设置定时器。
在init中(或其他的初始化函数里),调用函数
[cpp] view
plaincopy
UINT SetTimer(
UINT nIDEvent,//定时器标记,
UINT nElapse,//间隔时间
void ( CALLBACK* lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL
)
如
[cpp] view
plaincopy
settimer(1,2000,NULL);
设置定时器1的间隔为2000毫秒。
其次,添加ontimer消息处理函数代码。
[cpp] view
plaincopy
void OnTimer(
UINT_PTR nIDEvent
);
在ontimer中的程序在定时器被触发的时候运行。
如果程序中有多个定时器,则他们共用一个ontimer消息处理程序。
在ontimer中,可以通过判断定时器标志(nIDEvent)来区分不同的定时器。
假设设置了三个定时器,标记分别为1,2,3。如
[cpp] view
plaincopy
settimer(1,2000,NULL);
settimer(2,3000,NULL);
settimer(3,5000,NULL);
则在ontimer消息处理函数中
[cpp] view
plaincopy
void OnTimer(
UINT_PTR nIDEvent
){
switch (nIDEvent)
{
case 1:
//do something
break;
case 2:
//do something
break;
case 3:
//do something
break;
default:
}
}
1.同1个 settimer(,,)在一个循环里设置一次就行了,要是让其不断的set,是很可能执行不到ontimer()消息处理函数的,因为每次set都重新计时;
2.计时完毕,执行ontimer(),然后会重新计时的;
3.要销毁计时,用killtimer,要是想再计时,那就再settimer咯。
下面开始:
首先,要设置定时器。
在init中(或其他的初始化函数里),调用函数
[cpp] view
plaincopy
UINT SetTimer(
UINT nIDEvent,//定时器标记,
UINT nElapse,//间隔时间
void ( CALLBACK* lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL
)
如
[cpp] view
plaincopy
settimer(1,2000,NULL);
设置定时器1的间隔为2000毫秒。
其次,添加ontimer消息处理函数代码。
[cpp] view
plaincopy
void OnTimer(
UINT_PTR nIDEvent
);
在ontimer中的程序在定时器被触发的时候运行。
如果程序中有多个定时器,则他们共用一个ontimer消息处理程序。
在ontimer中,可以通过判断定时器标志(nIDEvent)来区分不同的定时器。
假设设置了三个定时器,标记分别为1,2,3。如
[cpp] view
plaincopy
settimer(1,2000,NULL);
settimer(2,3000,NULL);
settimer(3,5000,NULL);
则在ontimer消息处理函数中
[cpp] view
plaincopy
void OnTimer(
UINT_PTR nIDEvent
){
switch (nIDEvent)
{
case 1:
//do something
break;
case 2:
//do something
break;
case 3:
//do something
break;
default:
}
}
相关文章推荐
- VC/MFC 定时器设置及OnTimer使用
- [MFC]设置对话框所有控件字体为同一字体的简单方法
- [MFC]SetTimer()设置多个定时器
- VC++WM_TIMER 定时器使用方法
- [置顶] uboot中timer定时器的设置
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- VC++MFC中的定时器使用方法
- VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC字体设置,实现字体旋转的方法
- VC++ WM_TIMER 定时器使用方法
- MFC定时器——OnTimer和SetTimer的用法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- PIC18f2580下TMR0定时器初值设置方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC 热键设置 OnHotKey方法和Accelerator方法的设置
- MFC/WINDOW访问(设置)控件内容及句柄的常用的方法和自定义消息方法
- Linux下实现定时器Timer的几种方法