Текстовая строка не шире чем компонент Image

(1/1)

leoboec:
Добрый день подскажите можно ли и с мощью какого компонента реализовать вот какую задачу:
есть 2 формы. На 1 форме вводится текст в Edit на второй есть Panel на которой Image по размеру они растянуты на форму. и во далее мне надо чтобы текст из Edit с 1 формы попал на вторую. НО текст может состоять из 20-50 символов примерно. Мне надо чтобы шрифт как бы "автоматом" подстраивался под количество букв, чтобы эта срока оставалась одной строкой (без переноса) и чтобы она не вылазила за пределы Image который как фон формы в прицнипе. Реально ли это?! и если да то какими средствами и компонентами?!

Ravil:
не совсем конечно понятно, что вы хотите получить в итоге,  но думаю , что можно попробовать использовать Label растянуть его максимально и задать Alignment=taCentr;

Hex:
вариант раз - разбить строку на символы и вручную перерасчитать кернинг
вариант два - подумать головой над юзабилити и сделать нормально

S0mbre:
Смотрите на методы TextWidth, TextHeight, TextExtent класса TCanvas. Простой пример.

Т.е. вам надо:
1) опытным путем соотнести разные ширины текста с размером и семейством шрифта (при условии автоматического переноса текста, например в методе TCanvas::TextRect), как вариант сохранить в статический массив;
2) на событие OnChange поля (TEdit) повесить обработчик, в котором изменять шрифт в канве в зависимости от длины вводимого текста

Навигация

[0] Главная страница сообщений