在Windows中处理Windows生存期的默认方法是侦听WM_CLOSE消息,然后决定是否关闭窗口,并随后选择处理WM_DESTROY消息(用于清理等)。

有没有可以在没有WM_CLOSE的情况下发送WM_DESTROY的方案?我的意思是“通过系统”,而不是通过手动调用DestroyWindow()PostMessage()。还是依靠总是在WM_DESTROY之前发送WM_CLOSE才安全?

最佳答案

是。如果创建基于MFC对话框的应用程序并按“取消”按钮(IDCANCEL作为ID),则不会发送WM_CLOSE事件。同样,如果您按“Esc”键,则同样。

如果单击对话框右上角的“X”按钮,则将发送WM_CLOSE。

10-07 23:10