【问题标题】:How to change color of TEdit when focused聚焦时如何更改TEdit的颜色
【发布时间】:2018-05-04 12:27:54
【问题描述】:

这可能是一个简单的问题,但我找不到答案。

当我点击 TEdit 组件(在焦点上)时,我想改变它的背景颜色,当我点击其他地方时,背景应该恢复到以前的颜色。

附:我使用 Firemonkey,它是多平台应用程序,所以我需要使用样式。

【问题讨论】:

    标签: background-color firemonkey onfocus


    【解决方案1】:

    最简单(也是最好)的方法 - 将没有 Stroke 的 TRectangle 放入 Tedit,将其 Align 设置为 Client 并在 Object Inspector 中更改其 Fill 颜色。

    艰难的路: Tedit 使用样式中的位图。您可以查看 Tedit 的当前样式 - 放置样书,从文件加载您的样式,找到“editstyle”对象。 您可以为 Tedit 创建新样式(在当前样式中复制“editstyle”,并将其命名为 editstyle1,在对象检查器中选择背景 > 源链接 - 使用您的颜色选择全局样式位图上的部分,然后您可以更改为新样式像 Edit1.StyleLookup := 'editstyle1'; 还可以使用有用的论坛:http://fire-monkey.ru 和 Google 翻译。

    【讨论】:

    • 最简单的方法(也是最好的) - 将没有 Stroke 的 TRectangle 放入 Tedit,将其 Align 设置为 Client 并在 Object Inspector 中更改其填充颜色。但是这种方式会一直改变颜色,而不仅仅是在有焦点时。
    • 您必须在 OnEnter 和 OnExit 事件处理程序中执行此操作...对于您想要此行为的每个控件。或者子类化 TEdit 并定义您自己的自定义编辑控件来执行此操作。但恕我直言,风格是正确的选择。
    • 样式是正确的方法但是当我点击tedit框时如何改变颜色?可以给我看看吗?
    猜你喜欢
    • 2011-09-10
    • 2014-06-18
    • 2021-05-14
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2019-09-28
    • 2020-01-25
    相关资源
    最近更新 更多