![]() |
|
||||||||||
|
|||||
|
Здравствуйте)
У меня есть текст бокс, куда из БД подгружаются фразы (1 или 2 слова). Текстбоксы не резиновые (размеры статичные). И мне нужно чтобы перенос в них осуществлялся по словам, а не по буквам х_Х Сейчас у меня может получиться такое: MARBL E т.е. 1 буква перенеслась на след. строку. Аналогично фраза из 2 слов также переносится криво REGULA R CARPET первое слово на 1 и 2 строках, второе на третей. Вот мне бы сделать так, чтобы все слова переносились только целиком. Естественно, можно в БД это всё в виде штмл загнать и вручную расставить переносы, но для большой БД это нереально. Есть ли какое-нибудь свойство для установки переноса по словам? Или мб простой код для реализации свойства? Заранее спасибо) Последний раз редактировалось CaXaP; 13.06.2008 в 13:23. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Текстовые поля умеют переносить слова.
|
|
|||||
|
Я и писал, что с wordWrap получается плохо, вот смотрите:
http://imajr.com/delete.bmp-1065990 Переносится 1 буква в конце - некрасиво... Мне надо чтоб переносилось либо всё слово, либо вообще ничего не переносилось) |
|
|||||
|
А как тут выкладывать картинки? (ссылку тегом IMG не поставить - там защита какаято
)) Да и на мелком скрине видно хорошо, что переносится 1 буква от конца слова... Размеры поля маленькие (без autoSize) - где то 30 на 20 (шрифт тоже мелкий). autoSize использовать нельзя (поле фикисирвоанное должно быть)... На скрине хорошо видно, что переносится 1 буква в конце слова... Код, инициализирующий текстбокс: opt[i][0] = mc_options.createTextField("txt"+i,1000+i,kX*(7+i*40),kY*5-4,36,30);
opt[i][0].autoSize = false;
opt[i][0].border = false;
opt[i][0].multiline = true;
opt[i][0].wordWrap = true;
opt[i][0].setNewTextFormat(new TextFormat("Franklin Gothic Demi Cond", 9, 0x000000, false, false, null, null, null, "center"));
opt[i][0].wordWrap = true;
Последний раз редактировалось CaXaP; 13.06.2008 в 19:46. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Цитата:
|
|
|||||
|
Modus ponens
|
Ну... в такой ситуации даж нинаю... в голову приходит только такое:
Есть модуль к QuarkExpress (мб и к InDesign), который умеет расставлять гибкие переносы (флеш все равно их не понимает, но, сами символы потом можно будет заменить на какой-то другой, который невозможно отобразить в текстовом поле) ну и после замены текста (с отключенным wordWrap) смотреть разницу между реальной шириной текста и шириной текстового поля и пытаться заменить этот символ обратно на гибкий перенос (shy)... Но как-то мне это все кажется черз чур для такой задачи... ЗЫ. Тему надо было называть "Перенос по слогам".
__________________
Hell is the possibility of sanity |
|
|||||
|
Скрывать оставшуюся часть слова (как делается в большинстве текстовых редакторов (в том же Flash CS3, например)).
Так то есть одно решение - принимать текст из базы и все пробелы между словами заменять на тег <br>, надеясь что макс. длина фразы будет 2 слова. Но это танцы с бубном, да и негибко... Всё же надеюсь есть способ попроще ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|