作者fungi8210 ( )
看板C_and_CPP
标题Re: [问题] Win32 API SetTimer的问题
时间Thu Apr 9 00:16:51 2009
qazq 讲的没错,
因为你根本就没有去把 invalidate 的 region 给 valid
所以你会疯狂的收到 WM_PAINT, 那其他的 message 就送不进来.
change WM_PAINT to
case WM_PAINT:
BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
break;
记得在上面宣告
PAINTSTRUCT ps = {0};
※ 引述《dcleft (SOSOYA)》之铭言:
: 下面是完整的程式码
: http://rafb.net/p/MajU9c88.html
: 重点的部份在这边
: LRESULT CALLBACK WndProc (...){
: ...
: case WM_CREATE:
: SetTimer(hWnd,ID_MYTIMER,1000,NULL);
: break;
: case WM_TIMER:
: if(wp!=ID_MYTIMER)
: return (DefWindowProc(hWnd,msg,wp,lp));
: MessageBox(hWnd,TEXT("Timer"),TEXT("no"),MB_OK|MB_ICONEXCLAMATION);
: break;
: ...
: }
: 理论上应该每一秒跳出一个MessageBox,但实际运作起来却一点反应也没有,why~~~~~?
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.1.27