[問題] MFC 令按鈕中斷程式的寫法?

看板C_and_CPP作者 (滾阿滾阿~)時間15年前 (2010/06/05 16:37), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
我的開發平台為 MS Visual Studio 2005 語言是 Visual C++ 想請教關於MFC的問題 假設現在我有兩個按鈕 按鈕A和按鈕B 當按鈕A按下後 一些動作後 開始sleep(最久會睡個九小時吧....) 我遇到的問題是 只要一開始sleep 整個視窗就會如同當掉一般 所有按鈕都不能動作 連右上角的「x」 都無法作用 工作管理員顯示「沒有回應」 (我確定這是sleep造成的正常現象) 我的問題是 有什麼方法 可以達到相同類似sleep的效果 且右上角的「x」及按鈕B可以作用 (我希望按鈕B的作用是喚醒按鈕A的sleep 且不要執行按鈕A接下來的動作) 我想過類似用個 timer的方式 每秒判斷一次某個變數 當按鈕B按下就更改該變數 使A被喚醒且取消以下未執行的動作 但這樣似乎非常吃資源且沒有效率 請問還有什麼更好的解決方法呢? 先謝謝回應的大大了<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.54.207

06/06 00:45, , 1F
不如想想不要使用 Sleep...?
06/06 00:45, 1F

06/06 01:19, , 2F
和不參考一下執行緒
06/06 01:19, 2F

06/06 01:57, , 3F
你一定讓 UI thread 去 sleep 了...
06/06 01:57, 3F

06/06 01:58, , 4F
個人會建議如二樓所說 按下 A 後切一個 thread 出去做事
06/06 01:58, 4F

06/06 09:50, , 5F
不是阿 可以設定一個事件 就跟鬧鐘一樣
06/06 09:50, 5F

06/06 09:51, , 6F
你單純開 thread 還是很花資源 不信你按 ctrl atl del
06/06 09:51, 6F

06/06 10:41, , 7F
樓上說的方法是? 鬧鐘? 不是sleep嗎?
06/06 10:41, 7F

06/07 11:12, , 8F
嗯嗯 thread果然個好方法 感謝指點 !! :)
06/07 11:12, 8F
文章代碼(AID): #1C2drYVy (C_and_CPP)