Når jeg har lavet et tekstfelt dynamisk't (altså med createTextField), og sat det til automatisk at tilpasse sig efter teksten der bliver sat ind i det (autoSize), er det så muligt at finde ud af hvor mange linjer det indeholder?
Hvis du har autosize, så kommer der jo kun et linieskift, hvis der står \n eller \r i teksten (eller <br> eller <p> i html-teksten) - så du kan vel bare tælle dem...
Mat gav dig svaret - med lidt test, så er liniehøjden 2 pixels større end font-højden:
var minHoejde = 12; _root.createTextField("txt",1,10,10,100,10); tf = new TextFormat("verdana",minHoejde); txt.setNewTextFormat(tf); txt.wordWrap = true; txt.textWidth = 100; txt.border = 1; txt.autoSize = true; txt.text = "foo bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar"; trace((txt.textHeight-0)/(minHoejde+2));
Det er ikke en eviggyldig sandhed, for sætter du minHoejde til 15, så passer det ikke. Men du kan jo prøve dig frem :)
tjek_btn.onRelease = function() { t = _root.dyn_tekst.textHeight; trace(t); trace("der er t/15 linier i tekstfeltet, og det er: " + t/15); }
...det er måske ikke verdens mest elegante løsning, men den virker da :)
mvh mat
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.