BEGIN_MSG_MAP_EX(CMyWindow)
......
MSG_WM_TIMER(OnTimer)
......
END_MSG_MAP()
void OnTimer(UINT nIDEvent, TIMERPROC lpTimerFunc)
{
if ( 1 != nIDEvent )
SetMsgHandled(false);
else
RedrawWindow();
}
错误:C2660: “CMyWindow::OnTimer” : 函数不接受 1 个参数
看了一下WTL8.0 对MSG_WM_TIMER的宏定义
// void OnTimer(UINT_PTR nIDEvent)
#define MSG_WM_TIMER(func) /
if (uMsg == WM_TIMER) /
{ /
SetMsgHandled(TRUE); /
func((UINT_PTR)wParam); /
lResult = 0; /
if(IsMsgHandled()) /
return TRUE; /
}
把void OnTimer(UINT nIDEvent, TIMERPROC lpTimerFunc)
改成void OnTimer(UINT nIDEvent)就搞定了~
不知道WTL8.0还做出了哪些改变,没有文档郁闷中
转自:http://blog.csdn.net/hellward/article/details/5415084