PDA

Просмотр полной версии : программное создание combobox


ЛяЛя
04.05.2007, 14:48
Добрый Умный народ ПОМОГИТЕ
нужно программно создать combobox
с помощью хелпа построила следующий код, который не работает

_root.createEmptyMovieClip("combo",4);
_root.createObject(mx.controls.ComboBox, "cb", 4);
_root.cb.x=10;
_root.cb.y=50;
_root.cb._width=100;
_root.cb._height=100;
_root.cb.addItem({data:1, label:"First Item"});
_root.cb.addItem({data:2, label:"Second Item"});
_root.cb.open();

etc
04.05.2007, 15:18
ZOOM:
http://etcs.ru/files/zoom.png

Открыть хелп и прочитать.

motor4ik
04.05.2007, 15:21
может это будущий профессионал ))) СТРОИТЬ код это не так то просто )))

shuhermayer
24.10.2007, 12:25
а всё-таки? как программно это сделать? у меня пока тоже не получилось

shuhermayer
24.10.2007, 12:58
вставил код, указанный в хелпе, но что бы он работал компонент необходимо поместить в Library.

А как сделать чтоб этот компонент динамически сам туда добавлялся,
в общем вопрос в том, как сделать программное добавление компонентов, если я заранее не знаю их количества. ?

this.createClassObject(mx.controls.ComboBox, "my_cb", 10);
this.createClassObject(mx.controls.ComboBox, "my_cb", 10);
my_cb._x=300;
my_cb._y=300;
my_cb.addItem({data:1, label:"One"});
my_cb.addItem({data:2, label:"Two"});

// Create listener object.
var cbListener:Object = new Object();
// Create event handler function.
cbListener.change = function (evt_obj:Object) {
trace("Currently selected item is: " + evt_obj.target.selectedItem.label);
}
// Add event listener.
my_cb.addEventListener("change", cbListener);

aksios
24.10.2007, 13:14
вставил код, указанный в хелпе, но что бы он работал компонент необходимо поместить в Library.
А как сделать чтоб этот компонент динамически сам туда добавлялся,
в общем вопрос в том, как сделать программное добавление компонентов, если я заранее не знаю их количества. ?

Никак.:cool: Либа доступна только на стадии разработки - до компиляции swf.

shuhermayer
24.10.2007, 13:27
ладно, а как сделать несколько программно тогда?
я думал нужно 2 одинаковых компонента кинуть в лайбрари, но флешь при компиляции ругнулся.

aksios
24.10.2007, 13:51
ладно, а как сделать несколько программно тогда?
Ну так имя дать разное.
В либе один компанент, а в клипе может быть многа его копий - но шоб они отличались в работе, надо дать каждому уникальное имя.

shuhermayer
24.10.2007, 14:10
всё. проблема решена, почему-то просто в первый раз не получилось... хотя и менял названия..)