如何从TFrame中的事件处理程序关闭TPopup中显示的FMX TFrame

时间:2015-08-05 14:56:38

标签: delphi popup modal-dialog frame firemonkey

我使用通过调用TPopup.Popup(true);方法显示的框架。如果框架包含设置了ModalResult属性的按钮(例如,mrOK),则在用户单击时会自动关闭。但我需要在其中OnClick的{​​{1}}事件中关闭相框。 Frame没有Close方法。 我想避免使用邮件发布到父表单,因为当应用程序移植到Android时可能会导致将来出现问题,我也不希望在TListBox中声明OnClick事件处理程序父表单,因为框架可能会以几种不同的形式显示,这会使父表单代码的质量变差,使其变得繁重且难以阅读。 我非常感谢有关如何做到这一点的建议。

2 个答案:

答案 0 :(得分:1)

我找到了以下方法。我打电话给

(GetParentComponent as TPopup).IsOpen:=false;

答案 1 :(得分:0)

当您从TPopUp继承时,如此处所述(How to make my own dialog component from Firemonkey TPopUp?),那么您可以在框架中触发事件时调用ClosePopup