设置 | 登录 | 注册

作者共发了4篇帖子。

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;

内容转换:

回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
©2010-2025 Purasbar Ver3.0 [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。