WM_CLOSE 是關閉視窗的
WM_QUIT 是關閉訊息環的
以下說明程式是如何退出的:
使用者選按,於是發出 WM_CLOSE。
CMyFrameWnd 並沒有設定WM_CLOSE 處理常式,於是交給預設之處理常式。
預設函式對於WM_CLOSE 的處理方式是呼叫 ::DestroyWindow, 並因而發出WM_DESTROY。
預設之WM_DESTROY 處理方式是呼叫::PostQuitMessage,因此發出WM_QUIT。
CWinApp::Run 收到WM_QUIT 後會結束其內部之訊息迴路, 然後呼叫ExitInstance,這是CWinApp 的一個虛擬函式。
如果CMyWinApp 改寫了ExitInstance , 那么CWinApp::Run 所呼叫的就是CMyWinApp::ExitInstance,否則就是 CWinApp::ExitInstance。
最後回到 AfxWinMain,執行 AfxWinTerm,結束程式。
WM_CLOSE,調用DestroyWindow()
DestroyWindow()又傳送WM_DESTROY
回響WM_DESTROY,調用WM_QUIT
GetMessage()發現WM_QUIT,退出程式
相關詞條
-
WM_DESTROY訊息
WM_DESTROY訊息是一種計算機訊息,通過這個訊息,Windows可以關閉視窗。
介紹 說明 -
DefWindowProc
,是調用DestroyWindow函式關閉視窗並且發WM_DESTROY 訊息給應用程式;而它對WM_DESTROY這個訊息是不處理的(考慮為什麼...WM_CLOSE、WM_DESTROY、WM_QUIT這三個訊息是先後產生...
簡介 功能 參數 範例 -
Worm.Win32.WebDown.a
訊息:WM_CLOSE、WM_DESTROY訊息,病毒調用默認視窗處理過程...斯基、worm、防毒如包含這些內容,病毒通過向其傳送WM_DESTROY...
簡介 表現與查殺 相關詞條 參考資料: -
非模態對話框
,在對話框中映射WM_DESTROY訊息,在訊息處理函式中調用...WM_DESTROY訊息,在訊息處理函式中調用訊息傳送函式通知其他視窗...
非模態對話框 創建和關閉對話框 -
COLORS1程式
簡介 為了解捲動列和靜態子視窗的一些用法-也為了深入了解顏色-我們將使用COLORS1程式,如程式9-3所示。COLORS1...
簡介 程式 -
插入符號函式
的WM_CREATE訊息處理期間建立它,然後在WM_DESTROY訊息...
簡介 說明 -
HELLOWIN程式
; case WM_DESTROY...
介紹 說明 -
SetProp
:在清除視窗之前(也就足在處理WM_DESTROY訊息之前),應用程式必須...
函式功能 參數 -
進度條
, TRUE ); return 0; } case WM_DESTROY...
歷史 處理方法 C語言