2011-01-06 2 views
0

이 코드가 있습니다 ([I] .selectable = 거짓 mcArray)htmltextbox 속성 .selectable = false가 actionscript 3에서 작동하지 않는 이유는 무엇입니까?

function displayHTML(htmlText:String):void 
    { 
    var mcArray:Array = new Array(); 

    for (var i:int=0; i<20; i++) { 
     var caja1:HTMLTextBlock = new HTMLTextBlock(); 
     dragMe.addChild(caja1); 
     mcArray[i] = caja1; 
    } 

    for (var i:int=0; i<20; i++) { 
    mcArray[i].blockWidth = 720; 
    mcArray[i].textStyleSheet = textStyleSheet; 
    mcArray[i].setHTML(htmlText); 
    mcArray[i].selectable = false; 
    mcArray[i].x = 0; 
    mcArray[i].y = i*(mcArray[i].height+40); 
    } 
    } 

그러나 속성 선택을 내가 원하는대로 작동하지 않는 것 같다, 플래시 콘솔이 오류를 줄 : 형식 오류 : 오류 # 1010 : 용어는 정의되지 않았으며 속성이 없습니다.

코드 줄이 없으면 모두 정상적으로 작동하지만 사용자가 텍스트를 선택하기를 원하지 않습니다.

아이디어가 있으십니까?

답변

2

이 질문은 내가 쓴이 튜토리얼에서 HTMLTextBlock 클래스에 대한된다 이 http://active.tutsplus.com/tutorials/design/master-html-formatted-text-in-flash/

당신이 목표로하려고하는 텍스트 필드가 실제로 HTMLTextBlock 클래스의 자식입니다. 자신이하려는 일을 성취 할 수있는 몇 가지 방법이 있습니다. 가장 좋은 방법은 속성을 설정하는 HTMLTextBlock 클래스에 새 메서드를 추가하는 것입니다.

setHTML() 메소드 이후이 방법을 추가

public function setSelectable(value:Boolean):void 
{ 
    htmlTextField.selectable = value; 
} 

그런 다음 displayHTML 기능에, 수행

지금이 오류를 얻을
mcArray[i].setSelectable(false); 
+0

: 장면 1 층 '레이어 1' , 프레임 1, 라인 87 \t 1119 : 정적 유형 HTMLTextBlock을 사용하여 참조를 통해 선택 가능한 속성의 액세스가 가능할 수 있습니다. – DomingoSL

+0

HTMLTextBlock 클래스 안의 TextField에 선택 가능한 속성을 설정하고 HTMLTextBlock 자체는 설정하지 말아야합니다 – johnpolacek

1

HTMLTextBlock은 핵심 클래스가 아닙니다. TextField를 확장하거나 TextField를 래핑합니까? 텍스트 필드 속성이있는 경우 핸들을 가져 와서 선택 가능한 플래그를 설정해야합니다.

관련 문제