Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-03-2004, 10:48   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: wien
Beiträge: 30
textfeld dynamisch an textgrösse anpassen

hallo leute,

wieder einmal eine frage:

ich habe mehrere menüpunkte, bei denen der inhalt dynamisch in ein textfeld geladen werden soll.
da der text aber immer verschieden lang ist und ich aber trotzdem immer nur das eine textfeld benutzen möchte, sollte sich das textfeld an die länge des textes anpassen, bis zu einer bestimmten grösse und dann scrollbar werden.
denn es sieht irgendwie doof aus, wenn ich ein grösseres textfeld habe, in dem nur eine zeile text steht.
ich hoffe ihr habt eine idee, wie ich das lösen kann,


so long
jörgosan
jörgosan ist offline   Mit Zitat antworten
Alt 29-03-2004, 11:23   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
hi,

du könntest eine Funktion schreiben, die die Höhe des Textfeldes prüft, evtl. auf den Maximalwert zurücksetzt und dann den Scrollbar einblendet.

Z.B. so (dein Textfeld muss in dem Beispiel den Namen "meinMaxHeightText_txt" haben)
ActionScript:
  1. meinText_txt.setText = function(text, maxHeight){
  2.     this.autosize = true;
  3.     this.text = text;
  4.     if(this._height > maxHeight){
  5.         this.autosize = false;
  6.         this._height = maxHeight;
  7.         // hier der Code um Scrollbar anzuzeigen
  8.         trace("scrollen");
  9.     }
  10. }
  11. meinText_txt.setMaxHeightText("1\n2\n3\n4\n5", 20);
Falls du die Funktion für mehrere Textfelder verwenden möchtest, könntest du überlegen, ob du die Funktion dem TextField.prototype hinzufügst
ActionScript:
  1. TextField.prototype.setMaxHeightText = function(){/*...*/}};
gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 29-03-2004, 17:19   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: wien
Beiträge: 30
vielen dank romän,

habe deinen code ausprobiert, erkenne allerdings die variable nicht, die ich angeben muss un die auch im externen textfile steht.
ausserdem sagt mir diese zeile recht wenig:

meinText_txt.setMaxHeightText("1\n2\n3\n4\n5", 20);



vielleicht hast du zeit und musse mir einen kleinen demofile zu senden....

so long
jörgosan
jörgosan ist offline   Mit Zitat antworten
Alt 30-03-2004, 08:02   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
Moin,

also, die Zeile die du nicht verstehst ruft die Funktion auf.
Der Funktion übergibst du zwei Parameter:
- den Text, der im Textfeld stehen soll
- die maximale Höhe des Textfeldes

Wenn dein Textfile z.B. so aussieht:
Code:
textVar1=Das ist eine verdammt lange Bezeichnung f%FCr einen kleinen Button
musst du, nachdem das Textfile geladen wurde, die Funktion so aufrufen:
ActionScript:
  1. // die Variable "textVar1" ausgeben; meinText_txt soll max. 20 Pixel hoch sein
  2. meinText_txt.setMaxHeightText(textVar1, 20);
gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 31-03-2004, 12:29   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: wien
Beiträge: 30
noch immer nicht geschafft

habe es mit dem obenstehenden code versucht und sitze mit rauchendem kopf davor, doch es will mir einfach nicht gelingen, das script für mich anzupassen.

vielleicht kann mir jemand den gordischen knoten erläutern, wäre wirklich sehr hilfreich...

vielen dank
so long
jörgosan
jörgosan ist offline   Mit Zitat antworten
Alt 31-03-2004, 12:32   #6 (permalink)
Gib her, ich mach das!
 
Registriert seit: Jul 2003
Ort: Karlsruhe/Kassel
Beiträge: 270
Es geht ganz einfach mit

deinTextFeld.autoSize = "left" (oder "right" oder "center")

Dadurch wird das Textfeld immer so lang wie der Text da drin

Geändert von Dr.Atom (31-03-2004 um 12:33 Uhr)
Dr.Atom ist offline   Mit Zitat antworten
Alt 31-03-2004, 12:37   #7 (permalink)
Gib her, ich mach das!
 
Registriert seit: Jul 2003
Ort: Karlsruhe/Kassel
Beiträge: 270
ups, vielleicht sollte ich demnächst etwas genauer lesen
Dr.Atom ist offline   Mit Zitat antworten
Alt 31-03-2004, 14:08   #8 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
hähä romän,
kleiner Tipp-, Denkfehler?!?
Zitat:
Geschrieben von romän
...
ActionScript:
  1. meinText_txt.setText = function(text, maxHeight){
  2. ...
  3.     meinText_txt.setMaxHeightText("1\n2\n3\n4\n5", 20);
...
...was jetzt setText oder setMaxHeightText....

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele