首页 > 代码库 > 【MFC】定时器的使用(转)

【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】定时器的使用(转)