C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Текстовая строка не шире чем компонент Image  (Прочитано 2711 раз)
leoboec
Участник
**

Сказали спасибо: +1/-2
Offline Offline

Сообщений: 189

За красоту! ;)


« : 07 сентября 2018, 20:20:29 »

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

Сказали спасибо: +2/-2
Offline Offline

Сообщений: 168


« Ответ #1 : 18 октября 2018, 19:54:25 »

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

Сказали спасибо: +16/-3
Offline Offline

Сообщений: 38


« Ответ #2 : 06 декабря 2018, 21:18:23 »

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

Сказали спасибо: +1113/-22
Offline Offline

Сообщений: 2137

S0mbre


WWW
« Ответ #3 : 07 февраля 2019, 13:53:40 »

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

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