自定义 TEdit 的样式

3

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

在样式编辑器中,我将一个 tRectangle 添加到背景属性中,将其 Align 属性设置为 Client,设置填充和描边颜色。然后我保存了 StyleBook,tedit 的外观正确地反映了 StyleBook 的设置。

可惜的是,当我运行应用程序时,虽然 tedit 的外观是正确的,但点击客户区域不显示光标,也无法输入任何字符。我已经将内容、前景等设置为保持在最上层,但没有帮助。

我附上了2个示例图片。非常感谢任何人的帮助。

结构

enter image description here

属性

enter image description here


你在Rectange1Style中设置了HitTest:= False吗?(如果是,矩形将捕获所有点击并使编辑框不响应)。另外,你所称的背景属性实际上是一个名为background的组件。你可以简单地删除它并使用你的新矩形作为背景。 - Hans
@Hans。感谢您的建议。我按照您的建议设置了 HitTest:= False,但仍然无法将光标放入tEdit中。您还有其他建议吗?提前致谢。 - ppro
你尝试过将矩形“发送到后台”吗? - John Kouraklis
1
@Hans。我删除了Background对象并添加了一个TRectangle。将其Align属性设置为Client,将其背景Color属性设置为Aqua并将其发送到后面。除了TRectangle之外的所有对象都必须Bring to Front。所有对象都必须Stay on Top,没有例外。这就是让我困惑的问题,因为在YouTube上的视频中,那个人使用Stay on Top来代替Bring to Front。实际上,现在我意识到对象是按照它们在Structure中列出的顺序绘制的,所以TRectangle将首先绘制,其余所有对象都在其上方。 - ppro
1
@Hans。我必须补充一点,就是你要像之前说的那样将TRectangleHitTest:= False设置为假。谢谢! - ppro
1个回答

0

'RectangleStyle' 必须是 'content'、'prompt' 和 'buttons' 的父级 - 类似这样

this


我想知道如何通过代码启动此示例中的动画(从事件开始)? - ffert2907

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接