Überprüfen ob DynText markiert ist

Pullmann

Erfahrenes Mitglied
HI,

hätte da mal die Frage ob man überprüfen kann ob ein der Text in einem DynTextfeld
markiert ist.

Das ding ist das ich ein DynTextfeld beliebig häufig dupliziere und jedes neue Textfeld
soll die möglichkeit haben seinen eigenen Font, Farbe, Größe etc. zu haben.

Ich hab allerdings nichts gefunden wie man überprüfen kann ob der Text ausgewählt ist.
Bis auf die getSelectedText Funktion die aber irgendwie nicht will...
Man könnte auch eine Checkbox an das Textfeld machen aber das sieht dann natürlich
nicht so toll aus.
 
Zuletzt bearbeitet:
Hi,

Selection.getFocus() gibt Dir das aktive Textfeld als String zurück (Pfadangabe).

Mit Selection.getBeginIndex bzw. getEndIndex bekommst Du Start- und Endindex des ausgewählten Bereichs.

Gruß
.
 
HI,

ich habe jetzt die if abfrage so gemacht :

PHP:
if (Selection.getFocus() == [this+".textbox"] ) {


}

würde auch eigendlich gehen aber wenn ich auf den Button zum Schrift vergrößern
klicke dann wird Selection.getFocus() für einen Moment auf "null" gesetzt.
Wie kann ich denn das jetzt machen?
 
Hi,

merke Dir das am besten mit einem Key-Listener:
PHP:
var l = new Object();
l.onKeyUp = function() {
    _global.selFeld = Selection.getFocus();
}
Key.addListener(l);
Auf dem Button kannst Du das dann z.B. so abfragen:
PHP:
on(release) {
    if (_global.selFeld.indexOf("textbox1") {
        trace("Textbox1 gewählt");
    }
    if (_global.selFeld.indexOf("textbox2") {
        trace("Textbox2 gewählt");
    }
}

Gruß
.
 
Jyp genau so änlich wollte ich es auch lösen hier mein Code :

PHP:
_global.checkfocus = Selection.getFocus();
_global.checktext = ([this+".textbox"]);

if (_global.checkfocus == _global.checktext) {
	_global.focusset = true;
} else {
	_global.focusset = false;
}
if (_global.focusset == true) {
	this.textbox.setTextFormat(_global.newTextformat);
	this.textbox.autoSize = true;
	tg = _global.textcolor;
	textcolor = new Color(this.textbox);
	textcolor.setRGB(tg);
}

So will es aber nicht es bezieht sich trotzdem auf alle Textfelder.
Bei deinem genau so :

PHP:
var l = new Object();
l.onKeyUp = function() {
	_global.selFeld = Selection.getFocus();
};
Key.addListener(l);

if (_global.selFeld.indexOf([this+".textbox"])) {
	this.textbox.setTextFormat(_global.meinTextformat);
	this.textbox.autoSize = true;
	tg = _global.textcolor;
	textcolor = new Color(this.textbox);
	textcolor.setRGB(tg);
}

Ich habe das ganze allerdings in einem Schlüsselbild stehen liegt es daran?
 
Oh. So wie ich das sehe, soll Deine Formatzuweisung immer dann geschehen, wenn ein Textfeld ausgewählt wird? Wo ist denn da ein Button bzw. eine Checkbox?

Probier mal:
PHP:
var l = new Object();
l.onKeyUp = function() {
	var f = eval(Selection.getFocus());
	if (f instanceof TextField) {
		f.setTextFormat(_global.meinTextformat);
		f.autoSize = true;
		var tg = _global.textcolor;
		textcolor = new Color(f);
		textcolor.setRGB(tg);
	}
}
Key.addListener(l);

Gruß

P.S.: Wenn nur etwas passieren soll, wenn ein Textfeld den Focus bekommt, kannst Du auch den Handler onSetFocus() verwenden. ;)
.
 
HI,

also das Teil ist so aufgebaut.

Ein Eingabefeld in das ich den Text für ein neues Feld eingebe
Über den Button einfügen wird der eingegebene Text in ein neues Textfeld kopiert
und in die Scene gestellt ...

Ich habe zusätzlich noch Buttons für die Optionen in der Hauptebene mit denen ich Font,Farbe,Größe etc ändern will.

Aber das nur für das Textfeld welches ich gerade ausgewählt habe ...

Soweit alles klar
 
Hi,

lass mich mal sehen, ob ich das halbwegs verstanden habe (siehe mein Beispiel im Anhang):

Du hast:
  • 1 Eingabefeld
  • 2 dynamische Textfelder, denen Du über zwei Buttons den Text aus dem Eingabefeld zuweisen kannst
  • Welches dynamische Feld aktiv sein soll, bestimmst Du über Markieren bzw. Anklicken (in meinem Beispiel habe ich mal einen grauen Hintergrund gesetzt)
  • Du hast ein paar Buttons, mit denen Du dem jeweils aktiven Textfeld neue Formateigenschaften zuweisen kannst
Korrekt? ;)

Gruß
.
 

Anhänge

Jyp so änlich habe ich das nur nicht so schön :p

Naja ich habe mal mein Teil angehängt... du findest das Scipt oben links im Textmc
und dann in der Textformat Ebene.

Aber nicht erschrecken ;-]
 
Zuletzt bearbeitet:
Schön und gut, aber ich sehe dort nur ein dynamisches Textfeld (nämlich auf dem Hemd).

Generell: Was hält Dich davon ab, meinen Ansatz in Deiner Datei einzusetzen?

Gruß
.
 
Zurück