MFC定时器的使用(转)
Posted ~小小鸟~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC定时器的使用(转)相关的知识,希望对你有一定的参考价值。
原文转自 http://blog.csdn.net/hellozhd/article/details/8213359
在对话框中使用定时器:
1.定义定时器
#define TIMER1 1
2.开启定时器
在需要开启定时器的地方加入:SetTimer(TIMER1,1000,NULL);//启动定时器1,定时时间是1秒
3.关闭定时器
在需要关闭的地方加入:KillTimer(TIMER1);
4.增加定时器的消息响应函数
在类向导中,增加对话框的WM_TIMER消息,产生void CXXXDlg::OnTimer(UINT nIDEvent)函数,
在其中加入需要在定时器中处理的内容
void CTMSDlg::OnTimer(UINT_PTR nIDEvent) { //重新加载图片,加载完后关闭定时器 if (nIDEvent == TIMER1) { TBMeeting::Algorithms::Get().LoadImage(this, "./images/SettingNormal.png", IDC_PIC_CTRL_SETTING); KillTimer(TIMER1); } CDialogEx::OnTimer(nIDEvent); }
附:
SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD));
其中:
UINT nIDEvent:定时器的ID,在一个程序中用这个ID来确定是那个定时器发送的消息。
UINT nElapse: 定义刷新时间,即间隔多长时间刷新一次,单位是毫秒。
void (CALLBACK EXPORT* lpfnTimer)( HWND, UINT, UINT, DWORD):回调函数的参数,实现刷新时所做的操作,一般情况下都设为0。
以上是关于MFC定时器的使用(转)的主要内容,如果未能解决你的问题,请参考以下文章