Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2010, 16:09
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 1  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
По умолчанию Размеры текстового поля

Есть текстовое поле. В него может быть добавлен любой текст.
Есть ограничения для текстового поля. Допустим, оно не может быть больше 100px по ширине и 200px по высоте.
Текстовое поле multiline и wordWrap, само подстраивается под нужные размеры текста через TextFieldAutoSize.LEFT.

Необходимо: узнать, какие размеры нужно задать текстовому полю, чтобы текст не был больше максимально возможных значений по обеим сторонам (сделаем тут допущение, что текста столько, что он в любом случае не будет вылазить по обоим сторонам).

У меня такое ощущение, что это очень легко должно реализовываться, но почему-то ничего не приходит в голову.

P.S.: Хотелось бы, чтобы всё работало примерно следующим образом:

Код AS1/AS2:
var _tf:TextField = new TextField();
this.addChild(_tf);
_tf.autoSize = TextFieldAutoSize.LEFT;
_tf.multiline = true;
_tf.wordWrap = true;
_tf.border = true;
_tf.text = "MailBtn | onLoadingError __ event..errorMessage = Error in [SomaLoader] IOErrorEvent: Error #2032: Ошибка потока. URL: http://************ ****** ****";
_tf.width = 50;
 
// Тут мы корректируем высоту и, хотелось бы, чтобы ширина корректировалась автоматически
if (_tf.height > 100)
{
	_tf.height = 100;
}
Т.е. после корректирования одной из сторон, другая сторона автоматически корректирует свои размеры. На сколько я знаю, данный способ работает, если нам нужно уменьшить ширину текстового поля и свойство wordWrap у него задано в true, но в данном случае не могу понять как сделать так, чтобы работало как нужно.

По-моему, в AS2 нечто подобное можно было организовать с помощью getTextExtent().

Буду очень благодарен за любую помощь.


Последний раз редактировалось koIIImarik; 05.10.2010 в 16:20.
Старый 05.10.2010, 16:25
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А если при ширине 100px высота текста будет 500 в высоту?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 05.10.2010, 16:54
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 3  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
2 -De-:
То высота должна стать максимально возможной (в условиях это 200px), а по ширине текстовое поле должно расшириться на столько, на сколько нужно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
AS3 , textfield , TextFieldAutoSize , размеры , текст
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:37.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.