![]() |
Как определить ширину текстового поля с картинкой?
Приветствую всех присутствующих. :drinks:
Столкнулся с проблемой: Внутри .AS файла пишу примерно следующее: Код:
s="Фотографическая Карточка<Br><img hspace='4' vspace='2' height='100' width='100' src='image2.jpg'>"Отсюда, собственно, и вопрос: как определить ширину? |
___etc, отец, выручай.:)))))
|
запихнуть их в мувик и узнать _width
|
Определить ширину (высоту и прочую) надо с задержкой через setTimeout или setInterval, а не сразу.
Величину задержки надо определить эмпирически. |
Изображение ещё не успело загрузится. И у меня нет готового неработающего примера, а свой делать лень.
|
используй onLoadInit...
|
Цитата:
Чтобы точно узнать это время, стоит изменить подход к созданию таких полей. Организовать загрузку картинки с помощью средств флэш, позволяющих отслеживать загрузку. |
Благодарю за ответы.
Насчет загрузки изображения в виде мувиклипа все ясно, но хочется решить задачу, используя именно htmlText - уж больно удобно. Поставим вопрос по другому: Код:
s="Фотки:<Br><img src='image1.jpg' id='xxx'><Br><img src='image2.jpg', id='xxx'><Br><img src='image3.jpg' id='xxx'>"есть текстовое поле,(Elem), как средствами AS2 узнать сколько в нем изображений если их id нам неизвестны? |
Можно попробовать for…in пройтись…
|
Еще вопрос из той-же оперы...
Код:
Elem.htmlText="Фота<br><img src='image2.jpg' id='pic'>"trace(Elem.pic._x) работает, а trace(Elem.pic._width) - нет. :umnik2: |
А она уже загрузилась на момент запроса ширины?
|
Вроде да.. "_x" и "_y" определяются, картинка на экране.
|
Это вовсе не значит, что на момент проверки ширины и высоты она была загружена. Координаты у неё есть, потому что уже зарезервировано.
|
сделал следующее:
создал HTML, открывающий данную картинку, получил возможность использовать XML.onLoad и, таким образом, отслеживать момент открытия картинки. Вариант с setInterval действительно не прокатывал т.к.: а)картинки бывают разных размеров; б)расположены они могут быть в разных местах. Всем большое спасибо. Результат: http://www.flasher.ru/forum/showthread.php?t=96892 |
То, что xml загружен, совсем не значит что картинка загружена.
|
А как тогда выловить момент загрузки картинки???
|
Для загрузки картинки нужно использовать класс MovieClipLoader и его событие onLoadInit или onLoadComplete, onLoadInit работает лучше.
|
Цитата:
Тогда она в текстовое поле встанет из кеша - небольшой таймаут после загрузки xml. Это все теория. |
Доброго времени суток!
Решить задачку, в целом, получилось.. данный код, будучи вставленным в 1й фрейм, адекватно выравнивает текстовое поле..(autoSize не срабатывает на htmlText-е - проблема на уровне Macromedia - с этим приходится мириться.) Код:
this.createTextField("tContent", this.getNextHighestDepth(), 0, 0, 40, 40);Можно было-бы начать рассуждать про очередную победу отечественного интеллекта над буржуйской техникой, если-бы не один вопрос.. почему аналогичный код, будучи вставленным в класс у меня не работает? Где ошибка? Код:
import mx.core.UIObject; |
Цитата:
На что указывает this при создании текстового поля? |
на экземпляр. можно вместо this указать мувик(предварительно динамически создав его) внутри которого текстфилд расположен - погоды не делает.
Вопрос снят - хелп рулит - setInterval неправильно вызвал. Топик закрыт. Всем спасибо. |
| Часовой пояс GMT +4, время: 10:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.