Re: [問題] Win32 API SetTimer的問題
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
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章