有没有办法在Firemonkey中实现自下而上的事件通知?

时间:2018-12-10 16:58:59

标签: delphi firemonkey

我有一个容器控件(TLayout或TPanel或TScrollbox等),其中可以包含其他几个嵌套控件。 Firemonkey中是否有办法知道容器何时变为“活动”状态?我的意思是例如:

  • 任何子代获得关注或
  • 用户单击其任何非焦点控件

我要求一种事件冒泡。 OnClick就足够了,因此当用户单击任何嵌套控件时,将通知父容器。 Control的HitTest属性将是一个解决方案,但是如果我在TEdit上将该属性设置为False(以允许父级管理onlick),则它显然变得无用(我无法在其上键入)

编辑:

一个简单的布局示例:

  • 以表格形式放置TScrollBox
  • 将TPanel拖放到窗体中,并将​​其作为TScrollBox的子项
  • 将TEdit形式放置为TPanel的子项

好吧,我可以简单地做一个Parent.Parent.Click,在收到TEdit的OnClick之后,但现在想象几个TScrollBoxes,它们使用TPanels嵌套了不同级别的内容,里面有很多控件。既没有为树中的每个控件添加onclick代码,也没有更改Parent.Parent的层次结构。每次我重新设计布局并添加中间父控件时,都单击Click。

在Firemonkey中(Windows或MacOS)有什么方法吗?

PS:我正在使用Delphi 10.2.3(东京)

0 个答案:

没有答案