创建工程名TestCallBack
自定义回调函数 定义为全局函数
在TestCallBackDlg.h文件开头定义
#pragma once
void CALLBACK EXPORT TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
在TestCallBackDlg.cpp文件末尾实现函数
void CALLBACK EXPORT TimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime)
{
//其中的参数我只知道hwnd和 iTimerID两个参数的作用,其他的不太清楚,message值得是消息但是是什么消息呢,dwTime也不知道
//还望有大神指点一二
SYSTEMTIME LocalTime;
GetLocalTime(&LocalTime);
TCHAR TimeBuffer[256];
wsprintf(TimeBuffer,"%i年%i月%i日%i时%i分%i秒",LocalTime.wYear,LocalTime.wMonth
,LocalTime.wDay,LocalTime.wHour,LocalTime.wMinute,LocalTime.wSecond);
if (iTimerID==1)
{
SetDlgItemText(hwnd,IDC_EDIT1,TimeBuffer);
}
else if (iTimerID==2)
{
SetDlgItemText(hwnd,IDC_EDIT2,TimeBuffer);
}
}
添加Button1按钮,启动定时器
void TestCallBackDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
SetTimer(1,1000,TimerProc); //每间隔1s会调用一次TimerProc函数
SetTimer(2,2000,TimerProc);
}
添加Button2按钮,关闭定时器
void CMFCApplication7Dlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
KillTimer(1);
KillTimer(2);
}