快速:GetWindow(hwnd, GW_HWNDPREV) 是获取 SetWindowPos() 中的 hWndInsertAfter 的正确方法吗?

Quickie: is GetWindow(hwnd, GW_HWNDPREV) the correct way to get what would be the hWndInsertAfter in a SetWindowPos()?

这是一个快速而简单的问题;我只想检查我是否做对了。这确实适用于 framework/wrapper 图书馆。

假设我有两个 windows AB 以及 SetWindowPos(B, A, ...)。我想在 AB 之间插入 C。我只有 B 的句柄,比方说因为 A 在另一个布局容器中,我想发布一个 SetWindoPos(C, something, ...) 这样效果就是 SetWindowPos(C, A, ...); SetWindowPos(B, C, ...).

我的直觉告诉我恢复 A 的正确方法是 GetWindow(B, GW_HWNDPREV)。我是正确的,还是我想要 GW_HWNDNEXT

谢谢。

假设我没看错,那么 A 在 Z 顺序中位于 B 之上。也就是说,A 先于 B。

在这种情况下,GetWindow(B, GW_HWNDPREV) 是您需要作为 hWndInsertAfter 传递给 SetWindowPos 的 window。