Problem bei Textfeld dynamisch vergrößern

kevin_dewi

Grünschnabel
Hallo,

ich habe ein kleines Problem.
Wenn ich ein Textfeld dynamisch per Action Script vergrößere mit (.setSize(register.width, height)) wird automatisch der Text verzogen (also in die Länge gezogen). Kann ich das irgendwie verhindern?

Im Vorraus schonmal Vielen Dank!

Grüße
Kevin

 
Hi,

die Methode .setSize der TextField-Klasse ist mir unbekannt... :confused:

Jedenfalls kannst Du die Maße einfach über die Eigenschaften _width und _height festlegen, ohne dass der Text mitskaliert wird:
PHP:
mein_textfeld._width = 200;
mein_textfeld._height = 120;

Gruß

.
 
Sorry, das ich diesen Thread wieder aktuell mache, aber ich finde hier passt, meine frage ganz gut dazu.

Also, ich habe 2 dynamische Textfelder die, ja nachdem wieviel Text geladen wird, vergrößert.
Funktioniert, ja auch wunderbar!
Nur, befindet sich direkt neben dem Textfeld (rechts davon) eine Grafik und dann noch ein dyn. Textfeld.

Mein Problem ist jetzt, wenn sich das linke Textfeld vergrößert, schiebt sich der Text entweder unter bzw, über die Grafik, und im weiteren dann des 2ten Textfeldes.

Wie kann ich die Grafik bzw. das 2te Textfeld dynamisch positionieren (X-Achse) ?

mfg und thx

PS: mir gefällt das Wort "dynamisch" :p
 
Hi,

klar:
Code:
textfeld1._width = 500;
textfeld2._x = textfeld1._x + textfeld1._width + 10 ; // 10 Pixel Abstand
mc._x = textfeld2._x + textfeld2._width + 10;
Alles nebeneinander ... ;)

Gruß
.
 
aber ohne .autosize!!

was wenn ich mal sehr wenig text habe, dann hab ich dann ja ganz viel nix :p

Wenn man mich versteht?! ;)


Also, was ich eigentlich meine:
Ersoll mir die Textfelder automatisch skalieren (bei wenig txt = kleiner, bei mehr = breiter)
Aber das 2te Textfelt bzw die Grafik immer ca 10px weiter rechts, damit sie sich nicht überlappen.

Sry, falls ich mich missverständlich ausdrücke :-)


vielleicht kann man in flash ja nachfragen, ob die daten von php weniger als zB. 10 zeichen haben dann nimm autosize, sonst nimm txt._width = 100; :confused: :confused:
 
Zuletzt bearbeitet:
Hi,

nimm doch immer autoSize, dann passt sich das Textfeld dem Inhalt an.

Wenn Du eine Mindestbreite haben möchstes, schalte autoSize zuerst auf "true", überprüfe, ob die textWidth-Eigenschaft kleiner als 100 ist, und schalte in diesem Fall autoSize auf false und stelle die Breite manuell ein.

Gruß
.
 
Sorry, aber von AS hab ich ungefähr soviel ahnung, wie Bill Gates von GNU :p


Versucht hab ichs so
Code:
txtfield_1.autoSize = true;
txtfield_1._width = 100;
if(txtfield_1.textWidth >= txtfield_1._width)
    {
         txtfield_1.textWidth = (txtfield_1.textWidth +20);
         txtfield_2._x= (txtfield_1.textWidth+200)
    };

und noch ein paar andere möglichkeiten, aber entweder er überlappt txtfield_2 mit txtfield_1, oder er schneidet txtfield_1 nach ein paar zeichen ab.


Was ich aber will (folgende zeichen sollen den Ihnahlt der Textfelder vereinfachen)

xxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyy

oder

xxxxxxxxx yyyyyyyyyy

Verstanden? Er soll immer txtfield_2 (in diesem Fall yyyyy) ca. 20px weiter rechts, anzeigen


PS. die Variablen xx und yy holt er sich von getdata.php, und der Inhalt kann in der Zeichenlänge varieren( mal 20 Zeichen, mal 5 oder mal 50)

schön langsam tu ich nerven, keine absicht :-)
 
Zuletzt bearbeitet:
Hi,

Code:
var min_width = 100; // wenn Text kürzer, autoSize abschalten!

var str1 = "Dies ist ein längerer Text";
var str2 = "Zweites Textfeld.";

tf1.text = str1;
tf2.text = str2;

if (tf1.textWidth < min_width) {
	tf1.autoSize = false;
	tf1._width = min_width;
} else {
	tf1.autoSize = true;
}

tf2._x = tf1._x + tf1._width + 5;
tf1 und tf2 sind die Instanznamen der Textfelder.

Gruß
.
 
Jetzt weiß ich auch warum es bei mir nie funktioniert hat:
Code:
url1._x = medium1._x + medium1._width + 5;

ohne medium1.width + kanns ja nicht gehen

funktioniert DANKE :-) :-)
 
Zurück