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