CloseWindow和WM_CLOSE的关系是什么?

我目前有点困惑:是WM_CLOSE和::CloseWindow以任何方式“相关”或完全不同的东西?

closuresWindows的文档根本没有提到API函数CloseWindow 。 应该把CloseWindow叫做“MinimizeWindow”,还是我错过了什么?

Solutions Collecting From Web of "CloseWindow和WM_CLOSE的关系是什么?"

CloseWindowWM_CLOSE是完全无关的。 CloseWindow函数命名不正确。 它的反函数, OpenWindow同样被命名为恢复窗口。

我怀疑这些名字的确可以追溯到很长的一段路,可能是Windows版本1或2。我猜测,现在我们称之为最小化恢复的是当时被称为closeopen的

最小化或恢复窗口的常用方法是调用ShowWindow传递SW_MINIMIZESW_RESTORE

我建议你忘记所有关于CloseWindowOpenWindow

CloseWindow是一个不同寻常的winapi函数。 它实际上并不关闭一个窗口,它只是最小化它。 你可能的意思是DestroyWindow()

WM_CLOSE通常是由默认的窗口过程生成的消息,以响应用户按下Alt + F4或单击窗口的关闭按钮。 基础消息是WM_SYSCOMMANDSC_CLOSE 。 它可以在代码中生成,如“窗口+关闭”菜单项。

您可以在窗口过程或MFC消息映射中监听WM_CLOSE 。 用户将期望窗口被关闭。 所以你通常调用DestroyWindow() 。 您不必,可能会显示一个消息框,并询问用户是否应保存数据。 如果他点击否,那么你不调用DestroyWindow()