Originariamente inviato da grandeorco
si proprio così
Ok, allora...
I tre pulsanti sono dei movieClip istanziati happy_mc, sad_mc e angry_mc...
Il campo di testo è istanziato content_txt

Questo è il codice:
codice:
var firstPosition:Number;
var secondPosition:Number;
MovieClip.prototype.smile = function(campo:TextField, smile:String) {
	campo.onChanged = getCaretPos;
	var keyListener:Object = new Object();
	keyListener.onKeyUp = getCaretPos;
	Key.addListener(keyListener);
	var mouseListener:Object = new Object();
	mouseListener.onMouseUp = getCaretPos;
	Mouse.addListener(mouseListener);
	function getCaretPos() {
		firstPosition = Selection.getCaretIndex();
	}
	this.onPress = function() {
		secondPosition = firstPosition;
		var firstString:String = campo.text.substr(0, firstPosition);
		var secondString:String = campo.text.substr(firstPosition, campo.text.length);
		campo.text = firstString+smile+secondString;
	};
	this.onRelease = function() {
		Selection.setFocus(campo);
		Selection.setSelection(secondPosition+smile.length, secondPosition+smile.length);
		firstPosition = Selection.getCaretIndex();
	};
};
happy_mc.smile(content_txt, ":-)");
sad_mc.smile(content_txt, ":-(");
angry_mc.smile(content_txt, ":-/");
Come vedi c'è una funzione prototype iniziale, e poi le assegnazioni ai vari pulsanti, in questa forma: nomeIstanza.smile(istanzaCampo, "stringaDaInserire");
Devi adattarlo al tuo progetto...