![]() |
Смайлы в TextArea
Подскажите плз. почему когда листенишь ScrollEvent.SCROLL у TextArea то verticalScrollPosition показывает значение предыдущщего скроллинга, и какое событие нужно листенить чтобы после скролла получить реально значение verticalScrollPosition и других свойств
TextArea. спасибо |
Кажется, там нужен validateNow выполнить. Не смотрел.
|
да, слышал про такую штуку :)
validateNow называется, пробовал - не помогает. |
Собери нерабочий пример.
|
не буду приводить код полностью но в целом проблема сводится вот к такой:
Код:
<?xml version="1.0" encoding="utf-8"?> |
Заглянул в сорцы TextArea и увидел там любопытные строчки:
Код:
override protected function scrollHandler(event:Event):voidКод:
protected function scrollHandler(event:Event):voidКстати, event.position выдает верное значение. Что мешает его использовать? |
Дело в том что я пытаюсь добавить смайлы в этот самый TextArea,
для этого экстендю TextArea, и делаю внутренний TextField публичным. У TextField есть метод - getCharBoundaries, который возвращает Rectangle в котором находится определённая буква ( в моём случае - смайл ). Так вот после скролла этот метод getCharBoundaries внетреннегно текстфилда тоже выдаёт неправильное значение :( Спасибо большое за ответ, думаю теперь я разберусь. |
Тебе нужно отложить выполнение до следующего кадра хотя бы. Или на некоторое кол-во миллисекунд. Или переписать scrollHandler.
|
удобно таком случае пользоваться callLater -
Код:
callLater(function():void |
Примерчик заодно:
http://livedocs.macromedia.com/flex/.../00001438.html Хотя, раз наследуемся от TextArea, то можно и переписать scrollHandler. Не знаю, правда, может это к глюкам каким-нибудь привести или нет… |
| Часовой пояс GMT +4, время: 03:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.