作者peacecorner (說謊的沒海鷗)
看板C_and_CPP
標題[問題] Modeless Dialog
時間Mon Jun 22 21:46:59 2009
小弟在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
1F:→ WPC001:MainFrame & Dialog都是由系統驅動,而MFC處理這些訊息 06/22 22:05
2F:→ WPC001:是包在一個迴圈的(請參閱SDK或MFC深入淺出), 所以... 06/22 22:06
3F:→ peacecorner:我有看過深入淺出 或許是我沒仔細看 所以沒有吸收到這 06/22 22:11
4F:→ peacecorner:知識 不知道大大可以說的完整一點嗎 06/22 22:12
5F:→ WPC001:windows是事件驅動, 整個程式只有一個緒..(如果你沒額外要) 06/23 11:10
6F:→ WPC001:MFC把message loop包起來,實際上他仍然就是一開始的那個緒 06/23 11:11
7F:推 aecho:modeless dialog我看過的範例有兩種方式… 06/24 12:38
8F:→ aecho:一種是需要用到AfxBeginThread(),在另一個thread上跑。 06/24 12:38
9F:→ aecho:上面寫錯…AfxBeginThread(),在thread上跑…是一種方式 06/24 12:39
10F:→ aecho:另一種是,用Create()建立dialog,然後在show出來之類的… 06/24 12:39