1. 程式人生 > >MFC中OnTimer不被執行的解決辦法

MFC中OnTimer不被執行的解決辦法

    被這個問題困擾了一天,百度以及向大神請教都沒有結果,經過自己不斷嘗試和琢磨,終於找到原因並解決了問題,特寫下來供大家參考。問題描述:     在MFC中,使用setTimer來觸發OnTimer,但是執行程式並打斷點之後發現,OnTimer並沒有被執行。確認計時器的使用方法沒有問題,OnTimer函式也是通過過載實現的。
原因:     我之前在給對話方塊新增背景的時候,註釋掉了OnPaint函式else裡面的CDialogEx::OnPaint(),導致不斷重畫(我的背景上有一個小圓點,我可以看到它一直在閃)。而OnTimer的優先順序低,所以OnPaint函式一直在執行,OnTimer就不能夠被執行。解決辦法:       刪掉註釋就可以了。如果原因跟我的不一樣,首先檢查一下使用方法是否正確,如果使用方法正確,可以檢查一下是不是其他的函式一直在執行,並作相應的修改。