是否在子线程内使用SetTimer?
我建立一个进度条类,想在这个类里面封装子线程,即建立一个进度条对象时,即调用一个子线程来建立,然后想加Settimer来实现动画,因为这个类是非窗口类,不能直接响应WM_TIMER消息,于是使用全局的SetTimer,并给进度条类增加一个静态的回调函数用以响应,但实际情况是,不会响应,也无任何提示,请各位大侠指教! C++
[解决办法]
VOID CALLBACK TimerProc( HWND hwnd,
UINT uMsg,
UINT_PTR idEvent,
DWORD dwTime
){
//do some thing
return;
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
::SetTimer(NULL,NULL,200,(TIMERPROC)TimerProc);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}