【发布时间】:2017-02-10 15:27:16
【问题描述】:
我正在为表单上的tedit 对象定义自定义样式。
在样式编辑器中,我将tRectangle 添加到背景属性,将其Align 属性设置为客户端,设置填充和描边颜色。然后我保存了样书,tedit 外观更改正确反映样书设置。
可悲的是,当我运行应用程序时,虽然tedit 的出现是正确的,但点击客户区并没有显示光标,我也无法输入任何字符。我已经设置了内容、前景等以保持领先,但这无济于事。
我附上了 2 张示例图片。我非常感谢任何人的帮助。
结构
属性
【问题讨论】:
-
您是否在
Rectange1Style中设置了HitTest:= False? (如果为真,矩形将捕获所有点击并使编辑不响应)。此外,您所说的背景属性实际上是一个名为background的组件。您可以简单地删除它并使用您的新矩形作为背景。 -
@Hans。谢谢你的小费。我按照您的建议设置了
HitTest:= False,但仍然无法将光标放入tEdit。你有什么进一步的建议吗?提前致谢 -
您是否尝试过将矩形“发送到后台”?
-
@Hans。我删除了
Background对象并添加了TRectangle。将其Align属性设置为Client,将Color属性设置为Aqua并将其发送到后面。除了TRectangle之外的所有对象都必须Bring to Front。所有对象无一例外都必须Stay on Top。这是让我感到困惑的问题,因为在 YouTube 上的一段视频中,人们使用Stay on Top来表示其他对象,等同于Bring to Front。事实上,现在我意识到对象是按照Structure上列出的顺序绘制的,所以TRectangle将首先绘制,其余的都在它上面。 -
@Hans。我必须补充一点,您必须按照您之前所述设置
TRectangle'sHitTest:= False。谢谢!
标签: delphi firemonkey delphi-10.1-berlin