所以我创建了一个父窗口,然后使用CreateWindowEx创建了一个子窗口。现在,当我创建子窗口时,我给它设置了 WS_POPUP 样式。
MSDN 说:
WS_POPUP
0x80000000L
窗口是一个弹出窗口。此样式不能与 WS_CHILD 样式一起使用。
该窗口是一个弹出窗口,并且是我的其他窗口的子窗口。我想我对 WS_CHILD 样式的用途感到困惑,因为我仍然可以使我的弹出窗口成为另一个窗口的子窗口?
最佳答案
具有 WS_CHILD
样式的窗口必须位于其父级的边界内。具有 WS_POPUP
样式的窗口则不会,而且在调用 GetParent()
时返回所有者窗口(而不是父窗口)。
由于主要区别在于窗口是否必须位于父窗口的边界内,因此它们是互斥的并且不能混合,因此 MSDN 文档中有说明。
关于C++ 窗口父子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11786987/