Я пытаюсь поместить очень длинное имя файла в TLabel, используя функцию MinimizeName из модуля Vcl.FileCtrl, но я не могу понять, как получить параметр MaxLen, используемый функцией Если я жестко задаю значение, я могу увидеть действительный результат. Но так как форма может быть изменена, я бы хотел, чтобы она была динамической = изменение события изменения размера.Получение параметра MaxLen для использования с MinimizeName
Некоторые из вещей, которые я попробовал это lblLicenseFile.Width // строка слишком длинная lblLicenseFile.Width - 10 // строка слишком длинная Trunc (lblLicenseFile.Width/lblLicenseFile.Font.Size) // строка очень короткий
Там должен быть какой-то способ вычисления этого количества пикселей
MinimizeName (Const Имя файла: TFileName; Canvas: TCanvas; MaxLen: целое число): TFileName; MaxLen - это длина, в пикселях, доступная для рисования имени файла на холсте.
У меня этот вопрос не возникает. Почему бы вам просто не вызвать «MinimizeName» из события OnResize вашей формы? – TLama
Если я не добавляю правильное значение для MaxLen, текст не выглядит ОК - либо длинный для ярлыка, либо короткий. – OZ8HP
Наклейки autosize установлены на false, а мой текущий код выглядит следующим образом - не работает. Строка слишком длинная для метки Имя файла: = MinimizeName (Settings.License.LicenseFile, lblLicenseFile.Canvas, lblLicenseFile.Width); lblLicenseFile.Caption: = Имя файла; – OZ8HP