需要在 Delphi (FireMonkey 3) 中检测此表单上的任何控件的父表单。
最简单的方法是什么?
控件的Root
属性指向最上面的父级。
根是接口类型IRoot
。调用GetObject
它会生成表单。Form 可以是, , ,类型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;