为什么在子窗口和拥有的窗口之间收到WM_DESTROY的顺序有什么不同?

时间:2016-07-18 18:56:06

标签: c winapi

对于子窗口,父窗口首先接收WM_DESTROY,然后是子窗口。拥有自己的窗户是相反的。拥有的窗口首先接收WM_DESTROY然后是所有者。如果我想修改会影响子窗口的内容,我可以在父窗口的WM_DESTROY中执行此操作,但我不能对拥有的窗口执行相同的操作。拥有的窗口将在所有者之前收到WM_DESTROY

1 个答案:

答案 0 :(得分:0)

official documentation for DestroyWindow()另有说法:

  

如果指定的窗口是父窗口或所有者窗口,DestroyWindow会在销毁父窗口或所有者窗口时自动销毁关联的子窗口或拥有的窗口。该函数首先销毁子窗口或拥有窗口,然后它会破坏父窗口或所有者窗口。

您是手动发送WM_DESTROY而不是致电DestroyWindow()吗?