Показать сообщение отдельно
Старый 17.11.2009, 23:12
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 4  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Да? Значит я что-то делал не так

Автоматически – вряд ли... Скорее всего, придётся написать функцию преобразования позиции символа в обычном тексте в позицию в html-тексте, и с помощью неё вставлять введённый символ в html-текст. А сам html-текст хранить в дополнительной переменной, так как TextField изменяет значение своего свойства htmlText, дописывая туда всякие теги типа TEXTFORMAT. Хотя я не полностью в этом уверен, но вроде бы несколько раз сталкивался.

С функцией преобразования проблем особых быть не должно, она должна просто пропускать все теги. Единственно что, могут быть небольшие сложности с <p>, <br> и пробелами между тегами, которые, насколько я помню, в некоторых случаях пропускаются. Это если писать компонент для произвольного html-текста. Если же чётко задать допускаемый формат html-разметки, то многое упрощается.

Добавлено через 4 минуты
И ещё немного не в тему)
Мне кажется, лучше блок if в обработчике из вашего примера переписать так:
Код AS3:
if (evt is TextEvent) {
	var textEvt:TextEvent = evt as TextEvent;
	textEvt.preventDefault();
	super.htmlText = super.htmlText + textEvt.text;
	super.setSelection(super.htmlText.length, super.htmlText.length);
}


Последний раз редактировалось SamFR; 17.11.2009 в 23:20.