![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
А как в код залезть? В МХ при добавлении компонента на панель Library добавляется папка Flash UI Components,
а в 8-м - нет. Flash8/en/configuration/сomponents те, что с разширением .swc? В чем их надо открывать? |
|
|||||
|
4AM Games
|
классы компонентов лежат в
Flash 8/en/Configuration/Classes/mx ComboBox соответсвенно в Flash 8/en/Configuration/Classes/mx/controls/ComboBox.as для более полной картины скажу что ComboBox наследует ComboBase, тот UIComponent а тот UIObject. и активно использует mx.controls.List.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Спасибочки.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Снова вопрос.
Если все это (рабочий пример Nirth-а)поставить в обработчик для кнопки but.onRelease=function()
{
import mx.controls.Alert;
import mx.controls.ComboBox;
_global.leng=new Array();
var interval:Number;
onComboBoxChange=function(event:Object):Void
{
var target:ComboBox = ComboBox(event.target);
var ob=event.target.selectedItem.data;
leng[j]=ob;
trace(ob);
if(!Number(target.selectedItem.data))
{
comboBox.removeAll();
interval = setInterval(showWarning, 1);
}
}
function showWarning():Void
{
Alert.show("Data is not big enough", "Warning");
clearInterval(interval);
}
comboBox.addItem({label:"Hello", data:0});
comboBox.addItem({label:"World", data:1});
comboBox.addEventListener("change", onComboBoxChange);
}
В том примере, который я писала вначале тоже была та же проблема. Я поставила строчку перед обработчиком кнопки. А с примером, Nirth-а так не получается. ![]() |
|
|||||
|
4AM Games
|
Вообще мой код, это Workaround к именно этому багу именно у ComboBox, кнопким такое делать не нужно.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Просто у меня есть меню, динамическое. В зависимости от нажатого пункта меню в comboBox загружаются разные данные.
Пример с кнопкой - это для простоты. |
|
|||||
|
4AM Games
|
нечто вроде этого?
import mx.controls.Alert;
import mx.controls.Button;
import mx.controls.ComboBox;
var dp1:Array = [{label:"First Hello", data:0},
{label:"First Bye", data:1}];
var dp2:Array = [{label:"Second Hello", data:0},
{label:"Second Bye", data:1}];
var dp3:Array = [{label:"Third Hello", data:0},
{label:"Third Bye", data:1}];
var dataProviders:Array = new Array(dp1, dp2, dp3);
var comboBox:ComboBox;
function onButtonClick(event:Object):Void
{
var button:Button = Button(event.target);
comboBox.dataProvider = dataProviders[button.getDepth()-1];
}
function onComboChange(event:Object):Void
{
var cb:ComboBox = ComboBox(event.target);
if(!Boolean(cb.selectedItem.data))
{
setTimeout(Alert.show, 1,
"Data is not big enough", "Warning", Alert.OK);
}
}
function createApplication():Void
{
for(var i:Number = 1; i <= dataProviders.length; i++)
{
var btn:Button = createClassObject(mx.controls.Button,
String("btn"+i), i);
btn.move(0, (i-1)*btn.height);
btn.label = String("Button "+i);
btn.addEventListener("click", onButtonClick);
}
comboBox = createClassObject(ComboBox, "comboBox", getNextHighestDepth());
comboBox.move(200, 0);
comboBox.addEventListener("change", onComboChange);
}
createApplication();
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
а вы не пробовали после нажатия на кнопку очищать комбо?
или перед запонлением его? а не после выбора компонента
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Вроде этого. И когда выбираешь первый пункт списка, должно появляться предупреждение.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|