需要在Delphi中检测父表单(FireMonkey 3)以获取此表单上的任何控件。
最简单的方法是什么?
答案 0 :(得分:7)
控件的Root
属性指向最上面的Parent。
Root的接口类型为IRoot
。在其上调用GetObject
会生成表单。表单可以是TCustomForm
,TCustomForm3D
,TForm
,TForm3D
类型,所有这些都有TCommonCustomForm
作为祖先:
function GetParentForm(Control: TFmxObject): TCommonCustomForm;
begin
if (Control.Root <> nil) and
(Control.Root.GetObject is TCommonCustomForm) then
Result := TCommonCustomForm(Control.Root.GetObject)
else
Result := nil;
end;