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

时间:2019-03-15 21:42:21

标签: delphi textwrapping tlabel

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

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

在重要的情况下,TLabel的{​​{1}}和AutoSize属性设置为true。

1 个答案:

答案 0 :(得分:7)

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

if Label1.Height = Label1.Canvas.TextHeight('.') then
  // no word wrapped

That is because

  

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