我怎么知道TLabel单词是否包裹了文字?

Hir*_*ram 2 delphi tlabel word-wrap

我创建了一个TLabel,并向其中动态添加了文本,并且效果很好。但是我需要知道标签是否用文字包裹了文字,因为它对于标签的宽度而言太大,或者是否不需要包装,因为文字比标签的宽度短。

我并不是要知道标签的WordWrap属性设置为true还是false,我想知道它是否包装了文本。

TLabelAutoSizeWordWrap属性设置为true,如果该事项。

Ser*_*yuz 7

您可以检查标签的高度,以了解它是否是一个衬纸。

if Label1.Height = Label1.Canvas.TextHeight('.') then
  // no word wrapped
Run Code Online (Sandbox Code Playgroud)

那是因为

当WordWrap为True时,标签的宽度是固定的。如果AutoSize也是True,则对文本的更改将导致标签高度改变。

  • 好。如果有人怀疑高度是否为“。” (或任何单个字符)可以针对任意字符串的高度进行测试。GetTextExtentPoint32不区分字符的高度。 (3认同)