快速: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 A
和 B
以及 SetWindowPos(B, A, ...)
。我想在 A
和 B
之间插入 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。
这是一个快速而简单的问题;我只想检查我是否做对了。这确实适用于 framework/wrapper 图书馆。
假设我有两个 windows A
和 B
以及 SetWindowPos(B, A, ...)
。我想在 A
和 B
之间插入 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。