In mancanza di suggerimenti sono riuscito a risolvere in questo modo non elegantissimo... ma efficace. Ho potuto usare questa soluzione perchè nel mio caso il testo non è mai più lungo del doppio della larghezza del campo. Se così non fosse alcuni caratteri non verrebbero comunque visualizzati con questo codice.
tralasciando tutti gli import...
Codice PHP:
private var myTextField_2:TextField = new TextField();
private var originalFormat:TextFormat = new TextFormat();
private var newFormat:TextFormat = new TextFormat();
private var originalText:String;
private var textA:String;
private var textB:String;
originalFormat = myTextField.getTextFormat(0);
newFormat.align = TextFormatAlign.RIGHT;
myTextField_2.width = 80;
myTextField_2.height = 20;
myTextField_2.appendText("frase moolto lunga per il textField");
this.addChild(myTextField_2);
var lungh:int = myTextField_2.text.length;
var lastShowedChr:int = myTextField_2.getCharIndexAtPoint(myTextField_2.width-3, myTextField_2.height/2);
if (lungh > lastShowedChr ) {
myTextField_2.border = true;
originalText = myTextField_2.text;
textA = originalText.substring(0, lastShowedChr-2)+"...";
textB = "..."+originalText.substring(lastShowedChr-2);
myTextField_2.text = textA;
myTextField_2.addEventListener(MouseEvent.MOUSE_OVER, clickHandler2);
myTextField_2.addEventListener(MouseEvent.MOUSE_OUT, clickHandler2);
}
private function clickHandler2(e:MouseEvent):void {
if (myTextField_2.text == textA) {
myTextField_2.text = textB;
myTextField_2.setTextFormat(newFormat);
} else {
myTextField_2.text = textA;
myTextField_2.setTextFormat(originalFormat)
}
}
Saluti al forum