前些天寫的mfc程式,每次程式執行後處理大任務時進度條都會出現無響應的情況,只有在處理結束時才會再次更新,並且是直接更新到進度條滿的狀態,十分不爽。今天再次執行mfc程式,實在不能忍受這種情況,在網上查詢資料,得出解決方案,十分容易。
參考
msg msg;
while(peekmessage(&msg,null,0,0,pm_remove))
只需在程式迴圈處理任務前加上以上**,即可解決該問題,進度條能夠不斷更新。至於解決方案的內在原理,大概有個了解,有關於mfc訊息迴圈和訊息幫浦。
經驗總結 解決MFC 進度條無響應的問題
近兩天在乙個mfc程式裡實現匯入資料功能,匯入過程免不了重新整理進度條,但隨之發現資料量過大時,程序條無響應,於是上網搜尋各種奇技淫巧,都不得法。最後,回到這個mfc工程,在vs工具中全域性搜尋進度條工具終於找到解決方法,實際上遠沒有網上流傳的方法那麼複雜,僅僅五行 把這個問題搞定 while pe...
SWING中進度條的問題
由於swing中,程式的執行都是單執行緒的形式,因此碰到有關進度條的問題時,進度條並不會 隨著程式動態改變,而是等程式執行完之後,一次呈現出來,也就是一次性的填充完整個進 度條。究其原因 swing程式本身是乙個線程式,而進度條是另乙個執行緒,本身執行完之後,才會執行進度條的這個程序。怎樣解決這個問...
QT中進度條的使用
在qt中可以用qprogressbar或著qprogressdialog來實現進度條。首先在designer中拖乙個按鈕和進度條部件,按下面初始化 ui progressbar setrange 0,50000 1 ui progressbar setvalue 0 按鈕的事件處理 void mai...