看板 C_and_CPP 關於我們 聯絡資訊
請問一下各位先進~ 遇到的問題: (題意請描述清楚) 有一個MFC dialog based的程式 之中用到一個progress bar來顯示進度 這時如果讓視窗離開focus (就是點了別的視窗 或是按了 alt+tab) 會讓原來的程式出現"無法回應"的訊號 即使後來點回來還是無法回應 此時progess bar當然是死掉的 可是這時候程式並沒有真的無法回應 等到程式執行完成 就會恢復正常 希望得到的正確結果: 希望能一直保持程式正常顯示 程式跑出來的錯誤結果: 跟上面所說的一樣 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Visual Studio .net 2005 基底是MFC Dialog 有問題的code: (請善用置底文標色功能) 大致上是這樣: 得到總共的執行次數; for (次數){ 演算法; SCProBar->SetPos(n++); } 補充說明: 如果我在 for-loop 中直接用OnDraw去更新可以嗎? 感謝... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.183.73
lwecloud:progress bar要另外開一個thread吧 不然你的程式就一直卡 08/08 14:24
lwecloud:在跑progress bar,主dialog那邊沒辦法做別的事 08/08 14:24
GelionLin:只能用multithread的方式去維持嗎? 08/08 14:39
loveme00835:不然就用timer, 用起來會比較簡單, 不過實際還是多緒 08/08 15:00
WPC001:不要霸佔main thread... 這樣UI會無法被更新 08/09 07:49
GelionLin:我試試看用Timer好了 謝謝~ 08/17 10:03