【问题标题】:Delphi: Using TextHint in a multiline text component such as TMemo or TRichEditDelphi:在 TMemo 或 TRichEdit 等多行文本组件中使用 TextHint
【发布时间】:2017-08-23 22:44:43
【问题描述】:

TextHint 是 TEdit 属性,当文本框为空时,它可以让您在文本框内显示灰色文本提示。

我想在 TMemo 或 TRichEdit 中放置相同类型的提示,因为 TEdit 组件不允许多行。

如何在 Delphi 的多行文本控件中使用 TextHint? TextHint 属性实际上存在于 TMemo 和 TrichEdit 组件中,但似乎没有任何作用。

提前谢谢你。

【问题讨论】:

  • TextHintTCustomEdit 中实现,TEditTMemoTRichEdit 都派生自其中。但它只在TEdit 中暴露为published,因为这是唯一可以实际使用它的3 控件。它应该在TCustomEdit 中被声明为protected,但它被声明为public。我不知道为什么。

标签: delphi


【解决方案1】:

TextHint 属性是使用EM_SETCUEBANNER message 实现的。 Windows 本身根本不支持在这些 UI 控件上显示该消息:

您不能在多行编辑控件或富文本控件上设置提示横幅 编辑控件。

【讨论】:

  • 是的,但是您可以将控件子类化以手动处理绘画,因此您可以在控件为空时绘制自己的横幅文本。
  • 我有一种感觉,他们可能是故意使用public希望将来有一天,微软会在其他控件上引入相同的功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 2019-10-19
  • 1970-01-01
相关资源
最近更新 更多