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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.12.2010, 23:37
Tarlan вне форума Посмотреть профиль Отправить личное сообщение для Tarlan Найти все сообщения от Tarlan
  № 1  
Ответить с цитированием
Tarlan

Регистрация: Dec 2010
Сообщений: 11
По умолчанию Текст перестаёт выравниваться по правому краю при переполнении TextField

Выравнивание задано по правому краю. Когда TextField переполняется, текст просто упирается в левый край, не выходя за грани, следовательно выравнивание получается по левому. Как этого избежать?

Код AS3:
var left_txt:TextField = new TextField();
var left_format:TextFormat = new TextFormat(null,25,null,null,null,null,null,null,TextFormatAlign.RIGHT);
left_txt.x = 20;
left_txt.width = 100;
left_txt.height = 40;
left_txt.text = "ABCDEFGHIJKLMNOP";
left_txt.border = true;
left_txt.selectable = false;
left_txt.setTextFormat (left_format);
addChild (left_txt);

Старый 19.12.2010, 23:41
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Туманный вопрос. Но попробуйте wordWrap в true поставить.
__________________
тут я

Старый 19.12.2010, 23:44
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 3  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
А что если ему принудительно scrollH в int.MAX_VALUE выставить?

Старый 20.12.2010, 00:14
Tarlan вне форума Посмотреть профиль Отправить личное сообщение для Tarlan Найти все сообщения от Tarlan
  № 4  
Ответить с цитированием
Tarlan

Регистрация: Dec 2010
Сообщений: 11
Уточню вопрос. Под переполнением я имею ввиду переполнение видимой части TextField.
Текстовое поле однолинейное. Если выравнивание стоит по левому краю и поле переполняется, то всё нормально, лишний текст просто исчезает за правым краем. Это логично.
Но в моем случае выравнивание стоит по правому краю, и при увеличении количества текста наступает момент переполнения видимой части TextField, тогда текст упирается в левую границу, лишнее выходит за правую. А мне бы хотелось (и думаю, это было бы логичным), чтобы лишний текст исчезал за левой.
То есть мне не важно отображение всего текста на экране, важно отображение только его правой части, которая помещается в TextField.

Старый 20.12.2010, 00:21
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 5  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Попробуйте так:
Код AS3:
var left_format:TextFormat = new TextFormat(null, 25);
left_txt.defaultTextFormat = left_format;
left_txt.autoSize = TextFieldAutoSize.RIGHT;

Старый 20.12.2010, 00:39
Tarlan вне форума Посмотреть профиль Отправить личное сообщение для Tarlan Найти все сообщения от Tarlan
  № 6  
Ответить с цитированием
Tarlan

Регистрация: Dec 2010
Сообщений: 11
Цитата:
Сообщение от bav Посмотреть сообщение
Попробуйте так:
Код AS3:
var left_format:TextFormat = new TextFormat(null, 25);
left_txt.defaultTextFormat = left_format;
left_txt.autoSize = TextFieldAutoSize.RIGHT;
Да, но так меняются размеры TextField.. а они должны быть постоянными. Вижу, придётся делать так: контролировать, чтобы ширина текста всегда была меньше ширины TextField, а если больше - сразу удалять лишний символ.
Просто меня удивило, что для выравнивания по левому краю у Флеша одна логика, по правому - другая.

Старый 20.12.2010, 09:56
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 7  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Если задать размеры и не использовать выравнивание, то получается такой эффект, который вы хотели.
p.s. если я правильно понял
Код AS3:
var tf:TextField = new TextField()
			tf.text = "12345678910"
			tf.type = TextFieldType.INPUT;
			tf.border = true;
			tf.width = 100;
			tf.height = 20;
			addChild(tf)

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

Теги
textfield

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

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


 


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


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