[問題] Modeless Dialog

看板C_and_CPP作者 (說謊的沒海鷗)時間15年前 (2009/06/22 21:47), 編輯推噓1(109)
留言10則, 3人參與, 最新討論串1/1
小弟在MFC的觀念上有點問題 想請教板上的各位大大 小弟我開啟了一個SDI的專案 並且在MainFram Create的時候 呼叫了一個Modeless Dialog 因為希望Fram視窗可以晚個幾秒出現 並且在Dialog show出來之後 Sleep了幾秒 但是Sleep之後 Dialog上的控制項都show不出來了 一直等到Sleep結束才出現 主要的問題是 會出現這樣的狀況 是不是MainFram & Dialog 共用一個執行緒(應用程式的主執行緒) 因為小弟原本的觀念是 MainFram & Dialog應該各有一個執行緒 所以想請板上的各位大大替我解惑 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.72.103

06/22 22:05, , 1F
MainFrame & Dialog都是由系統驅動,而MFC處理這些訊息
06/22 22:05, 1F

06/22 22:06, , 2F
是包在一個迴圈的(請參閱SDK或MFC深入淺出), 所以...
06/22 22:06, 2F

06/22 22:11, , 3F
我有看過深入淺出 或許是我沒仔細看 所以沒有吸收到這
06/22 22:11, 3F

06/22 22:12, , 4F
知識 不知道大大可以說的完整一點嗎
06/22 22:12, 4F

06/23 11:10, , 5F
windows是事件驅動, 整個程式只有一個緒..(如果你沒額外要)
06/23 11:10, 5F

06/23 11:11, , 6F
MFC把message loop包起來,實際上他仍然就是一開始的那個緒
06/23 11:11, 6F

06/24 12:38, , 7F
modeless dialog我看過的範例有兩種方式…
06/24 12:38, 7F

06/24 12:38, , 8F
一種是需要用到AfxBeginThread(),在另一個thread上跑。
06/24 12:38, 8F

06/24 12:39, , 9F
上面寫錯…AfxBeginThread(),在thread上跑…是一種方式
06/24 12:39, 9F

06/24 12:39, , 10F
另一種是,用Create()建立dialog,然後在show出來之類的…
06/24 12:39, 10F
文章代碼(AID): #1AFujOIg (C_and_CPP)