哪些是TTextFormat(s)值(在TextRect中使用)及其含义?

时间:2014-10-09 16:19:45

标签: delphi text-formatting

我想在TextRect程序中应用一些文本格式,但我没有找到任何文档。在Delphi帮助中,在TextRect引用时,表示TextFormat变量值只能有3个值:tfAutoText, tfText, tfPlainText。但是在StackOverflow上我发现了一些带有其他文本格式值的TextRect示例,例如tfEndEllipsis。我在Delphi的帮助下搜索了这个,我发现other set有很多文本格式值。当我尝试它们时,带有这3个值的第一个集合根本不起作用,但第二个集合起作用。我糊涂了。哪一套是好的?似乎第二个是,因为它正在发挥作用。但那么,第一套是什么?

以下值的含义是什么(来自第二组)? :

  • tfCalcRect
  • tfEditControl
  • tfExpandTabs
  • tfExternalLeading
  • tfModifyString
  • tfNoClip
  • tfNoPrefix
  • tfRtlReading
  • tfWordBreak

其他人显而易见......

1 个答案:

答案 0 :(得分:4)

documentation错了。其中列出的三个枚举类型值(tfAutoTexttfTexttfPlainText)不存在。

您需要阅读Vcl.Graphics单元的来源才能了解这一点。来源如下:

type
  TTextFormats = (tfBottom, tfCalcRect, tfCenter, tfEditControl, tfEndEllipsis,
    tfPathEllipsis, tfExpandTabs, tfExternalLeading, tfLeft, tfModifyString,
    tfNoClip, tfNoPrefix, tfRight, tfRtlReading, tfSingleLine, tfTop,
    tfVerticalCenter, tfWordBreak, tfHidePrefix, tfNoFullWidthCharBreak,
    tfPrefixOnly, tfTabStop, tfWordEllipsis, tfComposited);
  TTextFormat = set of TTextFormats;

这些值直接映射到Win32 API函数DrawTextEx使用的标志上。您可以通过阅读该功能的documentation来了解它们的含义。