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

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

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

Регистрация: May 2008
Адрес: Одесса
Сообщений: 31
По умолчанию ComboBox+TextArea+XML

Есть следующая проблема.
Имеется ComboBox с 4 пунктами. При нажатии на один из них в TextArea подгружаются данные из XML.
Вроде всё классно работает. Но. Из 4-х выпадающих пунктов только 3 нужны. В 4-м (он же первый в списке) просто фраза, приглашающая сделать выбор. При выборе её из списка вместо текста вылазит undefined, что вполне логично, но абсолютно не приемлимо. Как сделать нужный мне 2-й пункт по умолчанию первым?
Далее, текст который появляется должен иметь другой цвет. Я так и не допёр как его изменить. Обшарил весь "хелп", поменял цвета скроллинга, фона, рамку, а для текста так и не нашёл Помогите.
И ещё: текст набранный в XML выглядит как надо. Но в TextArea начинают вылазить лишние отступы. Как избавиться?

Исходник прилагается.
Вложения
Тип файла: zip display.zip (295.3 Кб, 76 просмотров)

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от canabeo Посмотреть сообщение
Как сделать нужный мне 2-й пункт по умолчанию первым?
Может так?
Код:
function setup() {
	chooseperson.labelField = "pname";
	chooseperson.dataProvider = people;
	chooseperson.selectedIndex= 1
	chooseperson.addEventListener("change", Delegate.create(this, loadScreen));
}
Но я делаю немного по другому.
1. Закрываю список кнопкой с надписью "Выбери..."
2. Вешаю на неё метод open для списка.
Разумеется "Выбери..." не включать в список.
Но это дело вкуса

Старый 19.12.2008, 11:45
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 3  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
По поводу лишних отступов, недавно была такая же проблема, решили тут: http://www.flasher.ru/forum/showthre...E1%E7%E0%F6%E0

Старый 19.12.2008, 13:45
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 4  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Еще такой вариант, сыроват правда, но работает:
Код AS1/AS2:
...
function setup() {
	chooseperson.labelField = "pname";
	chooseperson.dataProvider = people;
	chooseperson.addEventListener("change", Delegate.create(this, loadScreen));
	chooseperson.addEventListener("open", Delegate.create(this, loadScreen));
}
var flag= true
function loadScreen(evt:Object) {
	var thisitem:Object = evt.target.selectedItem;
	if (flag) {
		chooseperson.removeItemAt(0);
		flag = false;
	}
	ta.text = thisitem.desc;
	ta.vPosition = 0;
	bgcol.setRGB(thisitem.bgcolor);
}
...
Смысл - приглашение "Выберите раздел" появляется только раз.
Можно просто убить листенер "open", а не пользоваться флагом


Последний раз редактировалось Жень Шень; 19.12.2008 в 13:47.
Старый 19.12.2008, 14:34
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
можно "Выберите раздел" совсем не пихать в датаПрвайдер
а повесить его как приглашение один раз
Код AS1/AS2:
function setup() {
   chooseperson.labelField = "pname";
   chooseperson.dataProvider = people;
   chooseperson.addEventListener("change", Delegate.create(this, loadScreen));
   chooseperson.text="Выберите раздел";
}

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

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

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


 


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


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