【问题标题】:Firemonkey styled TMemo does not get focusFiremonkey 风格的 TMemo 没有获得焦点
【发布时间】:2019-11-10 16:02:57
【问题描述】:

我在表单上删除了 TMemo 和常规 TStyleBook。我通过将TRectangle 添加到background 来编辑TMemo 的自定义样式,因此TMemo 现在具有不同的背景颜色,并将TMemo.StyleLookup 属性更改为实际的StyleName,但在运行时@ 987654331@ 无法获得焦点。

unit Form1;

interface

type
  TForm1 = class(TForm1)
    Memo1: TMemo;
    StyleBook1: TStyleBook;
  end;

var
  Form1: TForm;

implementation

{$R *.fmx}

end.

我错过了什么?

【问题讨论】:

  • 确保矩形上的 HitTest 设置为 False
  • @user2383818 你说的是戴夫,不是我。
  • 是的,戴夫。我的错。
  • @DaveNottage。我做到了。它设置为假。背景、内容等也是如此。我还尝试将 TRectangle 设置为 MemoStyle。这样,即使我将 Padding 属性设置为任何值,TMemo 也会获得焦点,但光标插入符号会放在 TRectangle 笔划边框上。这是非常令人沮丧和耗时的,我应该花时间开发我的应用程序

标签: delphi tmemo firemonkey-style


【解决方案1】:

事实证明,要将属性设置为应用于tMemo 的背景,必须将原始的background 项目替换为tRectangle,并将StyleName 分配给background。原background内的所有项目,必须转移到新的tRectanglebackground,并且必须删除原。 tRectangle backgroundAlign 属性必须设置为 Contentscontents 项的 Align 属性必须设置为 Client。之后,新的tRectanglebackground 的任何属性都可以设置为所需的值,并且它们将在设计和运行时正确显示。终于可以了,tMemo 可以对焦了!

StyleContainer
...
Memo1Style1
   ...
   background
   ...
...

background 以上,必须是tRectangle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多