Delphi 自定义样式TEdit

Delphi 自定义样式TEdit,delphi,firemonkey,delphi-10.1-berlin,Delphi,Firemonkey,Delphi 10.1 Berlin,我正在为表单上的tedit对象定义自定义样式 在样式编辑器中,我向背景属性添加了一个tRectangle,将其Align属性设置为Client,设置填充和笔划颜色。然后我保存了样式本,并且tedit外观正确地改变,以反映样式本设置 遗憾的是,当我运行应用程序时,尽管tedit的外观是正确的,但单击客户端区域不会显示光标,也不能输入任何字符。我已经将内容、前景等设置为保持在顶部,但这没有帮助 我附上2个样本图像。我真的很感谢任何人的帮助 结构 性质 “矩形样式”必须是“内容”、“提示”和“按钮”

我正在为表单上的
tedit
对象定义自定义样式

在样式编辑器中,我向背景属性添加了一个
tRectangle
,将其
Align
属性设置为Client,设置填充和笔划颜色。然后我保存了样式本,并且
tedit
外观正确地改变,以反映样式本设置

遗憾的是,当我运行应用程序时,尽管tedit的外观是正确的,但单击客户端区域不会显示光标,也不能输入任何字符。我已经将内容、前景等设置为保持在顶部,但这没有帮助

我附上2个样本图像。我真的很感谢任何人的帮助

结构

性质


“矩形样式”必须是“内容”、“提示”和“按钮”的父级- 差不多


您是否在
Rectange1Style
中设置了
HitTest:=False
?(如果为true,则矩形将捕获所有单击并使编辑不响应)。您所谓的background属性实际上是一个名为
background
的组件。您可以简单地删除它,并使用新的矩形作为背景。@Hans。谢谢你的提示。我按照您的建议设置了
HitTest:=False
,但仍然无法将光标放入
tEdit
。你还有什么进一步的建议吗?提前感谢您是否尝试过将矩形“发送到背景”中?@Hans。我删除了
Background
对象并添加了
TRectangle
。将其
Align
属性设置为
Client
,将其back
Color
属性设置为
Aqua
,并将其发送回。除了树形之外的所有对象都必须
放在前面
。所有对象都必须保持在顶部,没有例外。这是一个让我困惑的问题,因为在YouTube的一个视频中,人们对其他对象使用了
Stay-on-Top
,相当于
将其带到前台。事实上,现在我意识到对象是按照
结构上列出的顺序绘制的,所以
树形图将首先绘制&所有其他的都在上面。@Hans。我必须补充一点,您必须设置
TRectangle的
HitTest:=False
,如您之前所述。谢谢我想知道如何启动本例中的动画?(来自事件?)按代码?