gpt4 book ai didi

winapi - 获取父窗口的正确方法

转载 作者:行者123 更新时间:2023-12-04 04:17:47 24 4
gpt4 key购买 nike

MSDN 关于 GetParent 的内容如下:功能:

To obtain the parent window and not the owner, instead of using GetParent, use GetAncestor with the GA_PARENT flag.



但是当调用 GetAncestor(hWnd, GA_PARENT);对于没有父窗口的窗口,它返回桌面窗口,而 GetParent返回 NULL .

那么获得 parent (而不是所有者)并获得 NULL的正确方法是什么?如果没有?

当然我可以检查 GetAncestor返回桌面窗口,但这对我来说似乎是一个黑客。

最佳答案

考虑到最新的 Win32 文档,于 2020 年更新:

HWND GetRealParent(HWND hWnd)
{
HWND hWndOwner;

// To obtain a window's owner window, instead of using GetParent,
// use GetWindow with the GW_OWNER flag.

if (NULL != (hWndOwner = GetWindow(hWnd, GW_OWNER)))
return hWndOwner;

// Obtain the parent window and not the owner
return GetAncestor(hWnd, GA_PARENT);
}

关于winapi - 获取父窗口的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com