我有一个TWinControl
并且正在尝试确定父窗口是否可见。
我看到TWinControl
有一个属性ParentWindow
。的返回类型ParentWindow
是void *
。所以我很好奇我是否必须转换为特定类型,然后我可以检查窗口是否可见。
有谁知道我需要转换的类型,或者其他方式来完成这个?
其他故障排除说明,第 1 部分:
我试图通过以下方式获取 ParentWindows 类:
String parentWindowClassName = ((TObject *)(Control->ParentWindow))->ClassName();
但这给出了访问冲突。我还尝试强制转换为 TForm,这也导致了访问冲突,这让我相信父窗口可能由窗口控制。如果是这样,有谁知道检查它是否可见的任何技巧?例如,任何 COM 技巧或什么?
其他故障排除说明,第 2 部分:
这个问题的答案可能有助于解决我的另一个问题:C++ Builder 2009 - Cannot focus a disabled or invisible window
然而,如果没有这种方法,另一个问题可能会得到解决,这就是我发布不同问题的原因。
其他故障排除说明,第 3 部分:
感谢肯提供的额外信息。我从代码辅助中获取了我的信息:
但是我看到您的 HWND 返回类型来自:http ://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Controls_TWinControl_ParentWindow.html
这可能是我需要的额外信息......如果我得到它的工作将发布一个解决方案。谢谢。