Question

Je souhaite créer une liste avec Flash CS3 à l'aide du composant accordéon (l'utilisateur clique sur une ligne et la ligne se développe). L'icône de l'en-tête est un movieclip "my_icon":

var oAccordion_1:Object = oAccordion.createChild("Datasheet", "Icon", {icon:"My_icon"});

MovieClip "My_Icon" contient un Textfield dynamique avec le nom d'instance "Lblhead". Non, je veux changer le texte du Textfield comme ceci:

oAccordion_1.icon.lblHead.text = "mytext";

Mais Trace (oaccordion_1.icon.lblhead) donne indéfini. Cependant, Trace (oaccordion_1.icon) me donne "my_icon".

Une idée de la façon dont je peux accéder à Lblhead à l'intérieur de l'en-tête MC?

Merci.

D'ailleurs. Je sais que l'accordéon a une étiquette elle-même, mais je veux avoir plus qu'une simple étiquette à l'intérieur de mon en-tête.

Était-ce utile?

La solution

Malheureusement, il n'y a pas de moyen propre et facile de modifier dynamiquement les entrailles de l'icône. Un en-tête d'accordéon n'est qu'une instance de bouton, et la logique de l'icône de bouton est complexe et entrelacée avec le support de peau. Plus précisément, le bouton crée de nombreuses copies de l'icône pour les différents états du bouton.

Mais voici une astuce: demandez à l'icône de changer lui-même. Sur le cadre 1 du My_Icon MC, mettez ce code:

lblHead.text = _parent.content_mc.lblHeadText;

Ajoutez ensuite ce paramètre à votre appel CreateChild:

var oAccordion_1:Object = oAccordion.createChild("Datasheet", "Icon", {icon:"My_icon", lblHeadText:"Blah blah"});

J'espère que cela t'aides!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top