Flash AS2: accedere all'intestazione MovieClip in fisarmonica
-
12-11-2019 - |
Domanda
Voglio creare un elenco con Flash CS3 utilizzando il componente fisarmonica (l'utente fa clic su una riga e la riga si espande). L'icona dell'intestazione è un movieClip "my_icon":
var oAccordion_1:Object = oAccordion.createChild("Datasheet", "Icon", {icon:"My_icon"});
MovieClip "My_icon" contiene un campo di testo dinamico con il nome di istanza "LBLHEAD". No, voglio cambiare il testo del campo di testo in questo modo:
oAccordion_1.icon.lblHead.text = "mytext";
Ma Trace (oaccordion_1.icon.lblhead) dà non definito. Tuttavia Trace (oaccordion_1.icon) mi dà "my_icon".
Qualche idea su come posso accedere a LBLhead all'interno dell'intestazione MC?
Grazie.
Btw. So che la fisarmonica ha un'etichetta stessa, ma voglio avere più di un'etichetta all'interno della mia testata.
Soluzione
Sfortunatamente, non esiste un modo pulito e semplice per modificare dinamicamente le interiora di icona. Un'intestazione della fisarmonica è solo un'istanza del pulsante e la logica dell'icona del pulsante è complessa e intrecciata con il supporto skinning. In particolare, il pulsante crea molte copie dell'icona per i diversi stati del pulsante.
lblHead.text = _parent.content_mc.lblHeadText;
Quindi aggiungi quel parametro alla tua chiamata createchild:
var oAccordion_1:Object = oAccordion.createChild("Datasheet", "Icon", {icon:"My_icon", lblHeadText:"Blah blah"});
Spero che sia di aiuto!