1
안녕 모두들, 마우스 클릭, 키 다운 및 키 업과 같은 이벤트에서 줄 번호를 어떻게 찾을 수 있습니까? 또한 해당 선을 색상으로 강조 표시하십시오. TextArea를 사용했습니다.Flex에서 TextArea의 커서 위치를 기준으로 행 번호를 계산하는 방법은 무엇입니까?
미리 감사드립니다.
감사합니다, shivang
안녕 모두들, 마우스 클릭, 키 다운 및 키 업과 같은 이벤트에서 줄 번호를 어떻게 찾을 수 있습니까? 또한 해당 선을 색상으로 강조 표시하십시오. TextArea를 사용했습니다.Flex에서 TextArea의 커서 위치를 기준으로 행 번호를 계산하는 방법은 무엇입니까?
미리 감사드립니다.
감사합니다, shivang
당신이 TextField
클래스에 포함되어 필요한 기능을 제공합니다. 특정 위치에서 선을 얻으려면 getLineIndexAtPoint
방법을 TextField
사용해야합니다.
하지만 TextArea는 사용자의 내부 TextField
클래스를 숨 깁니다.
따라서, 옵션 1은 UITextField
을 사용하는 것입니다. 옵션 2는 TextArea
을 확장하고 거기에 필요한 기능을 구현합니다. 빠른 응답 Hrundik에 대한
package test
{
import mx.controls.TextArea;
import flash.events.MouseEvent;
import flash.text.TextFormat;
public class HighlightTextArea extends TextArea
{
public function HighlightTextArea()
{
super();
}
override protected function createChildren():void
{
super.createChildren();
textField.addEventListener(MouseEvent.CLICK, textField_clickHandler);
}
private function textField_clickHandler (event:MouseEvent):void
{
var lineIndex:int = textField.getLineIndexAtPoint(event.localX, event.localY);
if (lineIndex == -1)
return;
var lineOffset:int = textField.getLineOffset(lineIndex);
var lineLength:int = textField.getLineLength(lineIndex);
if (lineLength > 0)
textField.setTextFormat(new TextFormat(null, null, 0xFF0000), lineOffset, lineOffset+lineLength);
}
}
}
감사 : 여기
당신이 시작하는 데 도움이 빠른 프로토 타입입니다. 그것은 작동 ..... ..... 하지만 어떻게 특정 라인의 배경을 강조 표시 할 수 있습니까? 다시 한번 감사드립니다. – shivang매우 유용한 팁, TextField.getLineIndexAtPoint()에 대해 알지 못했습니다. mx.controls.TextArea는 textField를 숨기지 만 fl.controls.TextArea는 public 속성 'textField'를가집니다. – jhocking