OnClose():消息響應(yīng)函數(shù),響應(yīng)WM_CLOSE消息,當(dāng)"關(guān)閉"按鈕被單擊的時(shí)候(而不是我們眼睛所見(jiàn)的對(duì)話框從屏幕上消失時(shí)),該函數(shù)被調(diào)用,用戶在響應(yīng)OnOk()或者OnCancel()函數(shù)之后,不會(huì)發(fā)送WM_CLOSE消息
OnDestroy():消息響應(yīng)函數(shù),響應(yīng)WM_DESTROY消息,當(dāng)一個(gè)窗口即將被銷毀時(shí),被發(fā)送
在單視圖程序中,根據(jù)<<深入淺出MFC>>所講,程序退出時(shí)執(zhí)行的操作順序?yàn)?br />(1)用戶點(diǎn)擊退出按鈕,發(fā)送了WM_CLOSE消息
(2)在WM_CLOSE消息的處理函數(shù)中,調(diào)用DestroyWindow()
(3)在DestroyWindow()中發(fā)送了WM_DESTROY消息
(4)在WM_DESTROY消息中調(diào)用PostQuitMessage(),發(fā)送WM_QUIT消息,結(jié)束消息循環(huán)
綜上,程序先調(diào)用OnClose()(也可能不調(diào)用),然后調(diào)用OnDestroy()(必調(diào)用),所以,如果要進(jìn)行程序結(jié)束時(shí)的清理工作,應(yīng)該在OnDestroy()中,而不是在OnClose(),否則就有可能會(huì)出現(xiàn)內(nèi)存泄漏的危險(xiǎn)了!
posted on 2006-12-11 21:29
喬棟 閱讀(13918)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
C++的健身房