문제

아코디언 구성 요소를 사용하여 Flash CS3이있는 목록을 만들고 싶습니다 (행의 사용자가 클릭합니다. 행과 행이 확장됩니다).헤더의 아이콘은 MovieClip "my_icon"입니다.

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

MovieClip "my_icon"인스턴스 이름이 "LBLHEAD"가있는 동적 텍스트 필드가 있습니다. 아니요, 텍스트 필드의 텍스트를 다음과 같이 변경하고 싶습니다 :

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

그러나 추적 (oaccordion_1.icon.lblhead)은 undefined 을 제공합니다.그러나 추적 (oaccordion_1.icon)은 "my_icon"을줍니다.

헤더 MC에서 LBLHEAD에 액세스 할 수있는 방법은 무엇입니까?

감사합니다.

btw.저는 아코디언이 라벨 그 자체가 있지만 머리글 안에 라벨 이상을 갖고 싶습니다.

도움이 되었습니까?

해결책

불행히도, 아이콘 내장을 동적으로 조정하는 깨끗하고 쉬운 방법이 아닙니다.아코디언 헤더는 단추 인스턴스 일뿐이며 버튼 아이콘 로직은 복잡하고 스키닝 지원과 얽혀 있습니다.특히 버튼은 다른 버튼 상태에 대한 아이콘을 많이 생성합니다.

그러나 여기에 트릭이 있습니다. 아이콘이 변경되도록하십시오.my_icon mc의 프레임 1 에서이 코드를 넣으십시오 :

lblHead.text = _parent.content_mc.lblHeadText;
.

그런 다음 해당 매개 변수를 createChild 통화에 추가합니다.

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

이 도움이되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top