![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Здравствуйте коллеги.
Первый раз сталкиваюсь с таким глюком. У меня есть два текстовых поля, одно для ввода, второе для вывода сообщений. Я делаю следующее. Ввожу текст в инпут, далее по кнопке передаю его для вставки в новое поле. Перед этим обрезаю все не значащие символы в начале и конце сообщения. Далее полученный текст вставляется с последующей установкой TextFormat. При этом если в строке которую я передаю присутствуют символы переноса строки, у меня наблюдается смещение добавляемого текста, а старый текст затирается почему то. При этом формат текста тоже начинает плыть. Вот код при вставке который обрабатывает строку: Вот так я этот текст вывожу в TextField с именем tf var msg:Message = RStore.read(ChatConst.MSG_RECEIVE); var textFormat:TextFormat = new TextFormat(); var idx:int = tf.length - 1 ; var s:String; if (msg.type == MessageType.SIMPLE) { textFormat.underline = false; textFormat.color = 0x004000; textFormat.bold = true; s = msg.nickName + ': '; tf.appendText(s); tf.setTextFormat(textFormat, idx, tf.length - 1); idx = tf.length - 1; textFormat.color = 0x000040; s = msg.text + "\n"; tf.appendText(s); tf.setTextFormat(textFormat, idx, tf.length - 1); } if (msg.type == MessageType.SYSTEM) { s = msg.nickName + ': ' + msg.text + "\n"; textFormat.color = 0xFF0000; textFormat.underline = true; tf.appendText(s); tf.setTextFormat(textFormat, idx, tf.length - 1); } } Забыл уточнить, fla в CS5, тип поля классический, а для компиляции использую проект FlashDevelop с подключением swc с данным текстовым полем
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ Последний раз редактировалось SunShadow; 24.10.2010 в 23:48. |
|
|||||
|
Не знаю, что подсказать. autoSize там, multiline посмотрите.
P.S. перед вторым if else можно воткнуть )
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
autosize отвечает за подгонку размеров текстового поля на сколько я помню, а не за его внутреннее содержимое. Тем более поле очень большое, и текст туда умещается свободно. Многострочность влкючена(без переносов). А постскриптум не критично пока
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
Цитата:
\n это один символ, но он может распознаться, а "\n" - уже два. Я не силён в рэгэкспах, по сути ничего дельного наверно не подскажу. Пойду-ка я.)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
В справке по TextField написано что \n и \t распознаются как один символ.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
C appentText() баги наблюдались, если использовался символ \r.
|
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Попробовал вот так
Эффекта никакого(
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Да действительно, надо было удалять все а не только первый) Спасибо дельное замечание) только гораздо проще сделать так
И цикл будет не нужен Добавлено через 52 секунды Всем спасибо за помощь, теперь все функционирует как положено. Если кому то понадобится моя помощь, чем смогу ...)
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|