目前共有4篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:台灣正體▼
 
點擊 回復
469 3
MSDN上一幅很形象的Win32窗口程序退出時的流程圖
一派掌門 二十級
1樓 發表于:2015-12-29 13:28


詳細信息:https://msdn.microsoft.com/en-us/library/windows/desktop/ff381396%28v=vs.85%29.aspx
一派掌門 二十級
2樓 發表于:2015-12-29 13:30
在默認創建的Win32窗口程序中,如果點擊窗口右上角的關閉按鈕關閉,那麼是從WM_CLOSE那裡開始的。如果是文件菜單下的「退出」命令,那麼則直接從DestroyWindow那裡開始,不經過WM_CLOSE上面。

Prompt User?意思是程序決定是否顯示確認退出的對話框。
 
一派掌門 二十級
3樓 發表于:2015-12-29 13:39
CloseWindow(hWnd)函數只能把對應的窗口最小化,不能關閉窗口:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms632678%28v=vs.85%29.aspx
 
一派掌門 二十級
4樓 發表于:2015-12-29 13:42
為了解決文件菜單中的退出命令不經過WM_CLOSE而直接強制關閉窗口的問題,可以把窗口過程函數中的相應菜單命令處理的switch分支下原有的DestroyWindow(hWnd);改成發送WM_CLOSE消息給窗口:
case IDM_EXIT:
            //DestroyWindow(hWnd);
            SendMessage(hWnd, WM_CLOSE, NULL, NULL);
            break;
 

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:469 回複數:3
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2015-12-29 13:42
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。