Delphi XE7 文本提示

4

在向Embacadero报告一个QC报告之前,我想知道在关于TEdit和设置'TextPrompt'属性方面是否有简单的工作步骤。

每当尝试设置任何TEdit的TextPrompt时,提示不会显示出来。我是否遗漏了一些步骤或者当前有任何人知道这个错误的简单解决方法?

Delphi XE7 for iOS ( FMX )


1
已经报告并在内部修复:http://qc.embarcadero.com/wc/qcmain.aspx?d=127353 - Stefan Glienke
谢谢。我现在正在Google搜索,并查看支持网站。你有没有什么想法,更新会在什么时候发布? - ThisGuy
2
如果您有SA,您可以提交支持案例并在任何官方更新之前获得修复。 - LU RD
有许多明显的“错误”,比如这个问题或在全高清显示器上 TAniIndicator 的缩放问题等,这些都是先前正常工作的组件上的问题,因此有些人可能认为 Embarcadero 实现了错误或未修复它们,以迫使人们安装更新或继续支付订阅以修复这些错误。哪些更改破坏了所有这些突出的功能?另一个“错误”是无效的 TEdit.MaxLength 属性。查看源代码:它没有被使用。其他 IDE,如 VC++,已经使用了数十年。但 Embarcadero 希望不断有付费客户。 - StanE
2个回答

8
您也可以将TLabel放置在TEdit内部并将其对齐到Content或Client。将其HitTest属性设置为false。在onChange事件中,根据Text属性是否为空来显示或隐藏它。 TextPrompt在以前的版本中也存在问题,因此我使用了这个解决方法。

1

您需要使用样式手册才能使其正常工作。

示例:

  • 创建新的多设备应用程序
  • 添加TStylebook组件。
  • 将表单样式手册属性设置为Stylebook1
  • 添加TEdit

我在这里停一下。人们可能会认为,因为TEdit包含一个名为“Text Prompt”的属性,所以这应该是易如反掌的,但是添加文本到此属性并不起作用,为什么……不知道。无论如何.....

  • 右键单击TEdit组件,在底部单击“编辑自定义样式”

这将带出stylebook1容器。

  • 在结构视图上,展开“edit1style1:TLayout”
  • 选择“Prompt:TLabel”
  • 更改“text”属性为您想要的提示内容。
  • 选择样式手册容器上的“应用并关闭”

就这样,您将在tedit控件中看到文本提示,并且在多平台上运行时它会按预期工作。


你需要为每个编辑控件都这样做吗? - Ryno Coetzee
是的。这就是文本提示属性所在的位置。如果您使用了相同的样式名称,它将具有相同的提示。 - TysonStephen

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