看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《fungi8210 ( )》之銘言: : qazq 講的沒錯, : 因為你根本就沒有去把 invalidate 的 region 給 valid : 所以你會瘋狂的收到 WM_PAINT, 那其他的 message 就送不進來. 還是不懂,有下面幾個問題 1. invalidate的region預設是哪裡? 2. BeginPaint()就可以把invalidate region給valid了嗎? 3. 為什麼會瘋狂收到WM_PAINT的訊息? : 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; : : ... : : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.99.0.10 ※ 編輯: dcleft 來自: 122.99.0.10 (04/09 07:06)