Как я могу знать, если слово TLabel обернуло текст? - PullRequest
2 голосов
/ 16 марта 2019

Я создаю TLabel и добавляю в него текст динамически, и это прекрасно работает. Но мне нужно знать, обволакивает ли текст надписью текст, потому что он слишком велик для ширины надписи, или нет необходимости его оборачивать, потому что текст короче ширины надписи.

Я не хочу знать, установлено ли для свойства WordWrap метки значение true или false, я хочу знать, обернул ли он текст или нет.

В TLabel свойства AutoSize и WordWrap имеют значение true, если это имеет значение.

1 Ответ

7 голосов
/ 16 марта 2019

Вы можете проверить высоту этикетки, чтобы узнать, является ли она одним вкладышем или нет.

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

Это потому что :

Когда WordWrap равен True , ширина метки является фиксированной. Если AutoSize это также True , изменения в тексте приводят к изменению высоты надписи.

...