0

我在我的应用程序中遇到了一个问题,它创建了几个顶级窗口(除了主窗口):

问题是,如果我关闭任何顶级窗口,我的主窗口也会关闭。我花了几天时间才明​​白发生了什么,我想我明白了。看起来其他顶级窗口使用与我的主窗口相同的窗口过程,因此当我关闭任何顶级窗口时,窗口过程会收到WM_CLOSE消息并关闭整个应用程序。

因此我有一个问题——如果我创建一个新的顶级窗口,我是否需要注册一个新类并为它关联一个新的窗口过程?

4

1 回答 1

3

您的窗口进程大概是通过调用 PostQuitMessage 来响应 WM_DESTROY。这会降低流程。您应该只在主窗口关闭时调用 PostQuitMessage。只要您使用处理 WM_DESTROY 消息的窗口句柄进行区分,就可以从共享窗口过程中执行此操作。

于 2013-08-10T20:52:53.970 回答