PDA

Просмотр полной версии : обработчик события для динамически созданного компонента


BrainProof
24.08.2007, 20:14
Доброго времени суток еще раз!

Столкнулся с очередной проблемой!
Создаю радиобаттон:

import mx.controls.RadioButton;
createClassObject(RadioButton,'rb'+i,this.getNextHighestDepth());
this['rb'+i]._x=0;
this['rb'+i]._y=0;
this['rb'+i].groupName='1';

Подскажите, пожалуйста, как мне ему сделать обработчик события на onClick! Как я понял из хелпа просто создаем функцию, но ничего не получается!

И второй вопрос:

Сцена имеет фиксированный размер в ширину и неопределенный размер в высоту (зависит от наполнения, создаваемого динамически с экшен-скрипт)! Т.е. по завершении работы скрипта я знаю высоту!

Мне сцена необходима в html! Там я соответсвенно пишу тэги и в них указываю высоту и ширину! Но я не знаю высоты на тот момент! А происходит вот что! Допустим в теге я пишу высота 300! Если наполнение меньше, то остается пустое место! Если наполнение больше, то нижний его (наполнения) край не виден!

Поэтому в моем уме пока родились две идеи...

1. Указать любую высоту. После выполнения скрипта во флэше передать это число в браузер ява-скрипту! И из явы уже поменять циферку в тэгах! Но меняют смущают сомнения, что размер ролика не изменится...

2. Может есть способ использования ролиха в хтмл без явного указания размеров и тогда он будет с родными размерами! А родные размеры менять в экшен-скрипте после всех процессов!

Вообщем, подскажите пожалуйста, как быть!

Спасибо!

udaaff
24.08.2007, 20:46
1) Components Language Reference > EventDispatcher class

2) Сделай ролик сразу масксимальных размеров, в стиле рич-баннера :)

BrainProof
24.08.2007, 22:35
Благо, что для всего массива радиобаттонов нужен один обработчик....
поэтому получилось так! Работает!

import mx.controls.RadioButton;
createClassObject(RadioButton,'rb'+i,this.getNextHighestDepth());
this['rb'+i]._x=0;
this['rb'+i]._y=0;
this['rb'+i].groupName='1';

form = new Object();
form.click = function(eventObj){
_root.btn.enabled=true;
}
this['rb'+i].addEventListener("click", form);

А с размерами я не знаю максимального тоже...
Конкретнее...
В БД хранится массив строк! Я не знаю размера массива, не знаю длин строк...
ПХП передает это все параметрами во флэш! Там скрипт это все разгребает и все строчки располагает в столбик... т.е. одно текстовое поле под другим... поэтому итоговую высоту я никак знать не могу... а организовывать прокрутку не нужно! Итоговую высоту я узнаю только после формирования сцены...

udaaff
24.08.2007, 23:09
В таком случае используй свою первую идею.
Вторую реализовать невозможно: размеры сцены только для чтения.