昨天一直在調(diào)一段代碼,流程是這樣的:我在某個(gè)界面程序里先放置了一個(gè)對(duì)話框A,用戶選擇是或否。選擇是后,會(huì)再?gòu)棾鲆粋€(gè)對(duì)話框B,并觸發(fā)一個(gè)事件,然后再啟動(dòng)一個(gè)對(duì)話框C。這些對(duì)話框是模態(tài)的。
邏輯感覺(jué)很對(duì),沒(méi)有問(wèn)題。但是界面的異常讓我是頭疼。A對(duì)話框選擇是后,B對(duì)話框顯示不完全,在C對(duì)戶框顯示的時(shí)候,文字顯示又有異常。檢查了一下,原來(lái)EndDialog沒(méi)有執(zhí)行成功。使用GetLastError獲取的錯(cuò)誤值也是正確的。
惆悵了……,后來(lái)利用線程,去執(zhí)行那個(gè)事件,界面也正常了。
這是為什么呢?
我個(gè)人覺(jué)得是事件的執(zhí)行影響到了界面的刷新,因?yàn)槲业氖录窃诮缑娴某绦蚶锩鎴?zhí)行的。它對(duì)界面消息進(jìn)行了阻塞,導(dǎo)致界面不能刷新。
這個(gè)問(wèn)題,不是我第一次遇到,以前也遇到過(guò)這樣的問(wèn)題,沒(méi)有總結(jié)。總結(jié)一下,不要再犯了。
posted on 2009-04-14 09:10
Sandy 閱讀(411)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
windows學(xué)習(xí)