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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Nov 2005
Сообщений: 34
По умолчанию Как разместить данные в 2 колонки в TextField

Подскажите, пожалуйста, возможно ли разместить данные (например, два текстовых блока) в 2 колонки в TextField.
Может есть альтернативный вариант решения задачи: TextField отображает HTML документ. В зависимости от действий пользователя левая часть TextField остается неизменной, а в правой части TextField меняется текст.
Спасибо.

Старый 30.03.2008, 06:13
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 2  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
вряд ли есть что-то приличное для этой цели
скорее всего придется делать 2 textfield'a

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

Регистрация: Nov 2005
Сообщений: 1,155
Во Flash 10 пожалуйста, в 9-ом с извращениями

Старый 30.03.2008, 09:39
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Для обычного текста:
Код:
/**
* Метод, заполняющий колонки текстом.
* Метод работает только с обычным (не html) текстом.
* 
* @param	str - текст, которым необходимо заполнить колонки
* @param	array - массив, содержащий ссылки на текстовые поля (колонки)
* @return	String - Остаток невместившегося текста. Если помеcтился весь текст, то результатом будет null.
*/
function setText (str:String, array:Array):String {
	var arrayText:Array = str.split (" ");
	var n:Number = 0;
	var dx:Number = 0;
	var strTemp:String = "";
	var strBuffer:String = "";
	for (var i:Number = 0; i < arrayText.length; i += dx++) {
		strTemp = array[n].text;
		strBuffer = "";
		for (var j:Number = i; j < i + dx; j++) {
			if (j == arrayText.length) {
				break;
			}
			strBuffer += arrayText[j] + (j < arrayText.length - 1 ? " " : "");
		}
		array[n].text += strBuffer;
		if (array[n].textHeight > array[n]._height - 4 && dx > 1) {
			array[n].text = strTemp;
			dx = 0;
		} else if (array[n].textHeight > array[n]._height - 4) {
			array[n++].text = strTemp;
			if (array[n]) {
				i--;
			} else {
				return str.substring (array[n - 1].text.length);
			}
		}
	}
	return null;
}
var array:Array = new Array ();
for (var i:Number = 0; i < 2; i++) {
	var txt:TextField = this.createTextField ("txt" + i, this.getNextHighestDepth (), 10 + i * 110, 10, 100, 200);
	txt.border = true;
	txt.multiline = true;
	txt.wordWrap = true;
	array.push (txt);
}
setText ("Подскажите, пожалуйста, возможно ли разместить данные (например, два текстовых блока) в 2 колонки в TextField. Может есть альтернативный вариант решения задачи: TextField отображает HTML документ. В зависимости от действий пользователя левая часть TextField остается неизменной, а в правой части TextField меняется текст. Спасибо.", array);
Однако для html текста такой способ не годится, так как надо предварительно парсить текст и вычислять разрывы тегов при переходе не друго столбец.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2005
Сообщений: 1,155
В 9-ой версии это еще более менее удобно. В AS3 встроены методы определения положения определенного глифа. Я как то задавался такой же проблемой, выходило примерно так. Сначала определял номер последнего символа нижней строчки первого столбца. Затем просчитывал все открытые теги до этого символа. Запоминал эти теги, после чего создавал второе поле и заново открывал запомненые теги, что бы сохранить форматирование. В принципе ничего тяжелого, но выделять текст в обоих колонках все равно не получится

Старый 30.03.2008, 21:06
shtala вне форума Посмотреть профиль Отправить личное сообщение для shtala Найти все сообщения от shtala
  № 6  
Ответить с цитированием
shtala

Регистрация: Nov 2005
Сообщений: 34
Пасибо, буду переходить на 9-ый

Старый 31.03.2008, 00:39
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от flash33
но выделять текст в обоих колонках все равно не получится
Через BitmapData можно добиться того же эффекта.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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