Просмотр полной версии : Scroll в text_txt.autosize = true
Не знаю откуда взялся скролл в автосайзе, но он есть. Ведь насколько мне известно - автосайз, это выравнивание по высоте, по этому априори не должно быть ни какого скрола. Бред какой то. Это я наблюдаю давно. Но только сейчас решил спросить, потому как в текущем проекте, это стало критично.
А ты попробуй сначала текст присвоить, потом autoSize ему в true :D
Хотя нет, это заморочки не embed шрифтов.
Щас поковыряю.
UPD: Шрифт embed. А вот maxscroll у поля равен 2. Гм… Думаем дальше.
От смены мест слагаемых, результат не меняется... :)))
Кроме как отключить mouseWheel, я не пришел, ни к какому выводу... Хотя при выделении видно "лишнюю" строку
Ничего не надумал, я всегда selectable в false ставлю :D
Хотя, скроллинг был всегда точно.
Тебе нужно оставить поле выделяемым?
По идее, да. Selectable нужно оставить включенным. С заказчиком надо поговрить, и сказать, что нельзя так делать... :D...
Скроллинг, ладно с ним, его можно отключить, а вот как быть с выделением текста(?).... Там все время появляется лишняя строка...
Можно выставлять насильно badTextField.scroll = 1 с помощью setInterval... Только все равно эта строка будет появляется, но значительно реже.
+
А поле обязательно должно не программно создаваться? Просто программное поле такой шутки не выдает.
2lowka, нет, это извращение... К тому же scroll вообще должен отсутствовать как таковой...
Походу небольшая бага для полей созданных в авторской среде, другого обяснения я не нашёл. :)
Если приемлемо, создай поле динамически, проблемы отпадут:
this.createTextField("txt", 1, 29, 158, 517, 21);
txt.wordWrap = true;
txt.multiline = true;
txt.autoSize = true;
txt.text = "...";
посмотрел файл. никакого скролла...
Проблема заключается в том, что при создании текстового поля ручками, leading имеет значение 2. Если исправить на 0, то скроллинга не будет.
Конечно нам не всегда нужно использовать 0, иногда нужны и другие значение. Решением в данном случаи будет изменение leading только для последней строки. В данном примере надо добавить:
fmt = txText_txt.getTextFormat ();
fmt.leading = 0;
txText_txt.setTextFormat (txText_txt.length - 22, txText_txt.length, fmt);
22 - это количество символов в последней строке. Можно и больше, главное чтобы не привышало сумму символов последней и предпоследней строк.
iNils, круто(!)... Спасибо.
Dendroid
21.02.2007, 19:16
Ещё можно менять размер поля после того, как autosize отработает.
Тут я приводил код, который очевидно и для любого положительного leading работает: http://www.flasher.ru/forum/showpost.php?p=577094&postcount=9
Кстати, у меня в 9-м плеере скроллинга в примере не возникает, а в 7-м standalone есть. Пофиксали начиная с какой-то версии?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.