作者GelionLin (阿蓋新人生)
看板C_and_CPP
標題[問題] 請問維持視窗資源的方法
時間Sun Aug 8 14:16:55 2010
請問一下各位先進~
遇到的問題: (題意請描述清楚)
有一個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