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