Använda komponenten TextArea

Komponenten TextArea är en wrapper för det ursprungliga ActionScript TextField-objektet. Du kan använda TextArea-komponenten för att visa text och även för att redigera textinmatning om egenskapen editable har värdet true . Komponenten kan visas och ta emot flera rader med text och radbryter långa textrader om egenskapen wordWrap har värdet true . Med egenskapen restrict kan du begränsa de tecken som användaren kan ange och med maxChars kan du ange det maximala antalet tecken som användaren kan ange. Om texten överstiger textområdets vågräta och lodräta gränser visas vågräta och lodräta rullningslister automatiskt, såvida inte deras associerade egenskaper, horizontalScrollPolicy och verticalScrollPolicy , har värdet off .

Du använder en TextArea-komponent när du behöver ett textfält med flera rader. Du kan till exempel använda en TextArea-komponent som ett kommentarsfält i ett formulär. Sedan kan du ställa in en avlyssnare som kontrollerar om fältet tomt när användaren tabbar ut ur fältet. Avlyssnaren kan visa ett felmeddelande om att en kommentar måste anges i fältet.

Om du behöver ett textfält med en enda rad använder du TextInput-komponenten.

Du kan ställa in textFormat -stilen med metoden setStyle() för att ändra stilen på texten som visas i en TextArea-förekomst. Du kan också formatera en TextArea-komponent med HTML genom att använda egenskapen htmlText i ActionScript, och du kan ställa in displayAsPassword -egenskapen på true för att maskera text med asterisker. Om du ställer in egenskapen condenseWhite true , tar Flash bort extra vitt utrymme i ny text som beror på mellanslag, radbrytningar och så vidare. Det påverkar inte text som redan finns i kontrollen.

Använda komponenten TextArea

En TextArea-komponent kan aktiveras eller inaktiveras i ett program. I inaktiverad status kan den inte ta emot inmatningar från mus eller tangentbord. I aktiverad status följer den samma fokus, val och navigeringsregler som ActionScript TextField-objekt. När en TextArea-förekomst har fokus kan du använda följande tangenter för att styra den:

Nyckel

Beskrivning

Piltangenter

Flytta insättningspunkten uppåt, nedåt, till vänster eller till höger, om texten är redigerbar.

Page Down

Flyttar insättningspunkten till slutet av texten, om texten är redigerbar.

Page Up

Flyttar insättningspunkten till början av texten, om texten är redigerbar.

Skift+Tabb

Flyttar fokus till föregående objekt i tabbslingan.

Tabb

Flyttar fokus till nästa objekt i tabbslingan.

Mer information om att kontrollera fokus finns i avsnittet om gränssnittet FocusManager i Referenshandbok för ActionScript 3.0 i Adobe Flash Professional och Arbeta med FocusManager .

TextArea-komponentparametrar

Du kan ställa in följande utvecklingsparametrar för varje TextArea-förekomst i egenskapsinspektören eller komponentinspektören: condenseWhite , editable , hortizontalScrollPolicy , maxChars , restrict , text , verticalScrollPolicy och wordwrap . Var och en av de här parametrarna har en motsvarande ActionScript-egenskap med samma namn. Information om möjliga värden på de här parametrarna finns i avsnittet om klassen TextArea i Referenshandbok för ActionScript 3.0 i Adobe Flash Professional .

En direktförhandsvisning av varje TextArea-förekomst reflekterar ändringar som gjorts på parametrar i egenskapsinspektören eller komponentinspektören vid redigeringen. Om en rullningslist behövs visas den i direktförhandsvisningen, men den fungerar inte där. Det går inte att markera text i direktförhandsvisningen, och du kan inte ange text i komponentförekomsten på scenen.

Du kan skriva ActionScript för att styra de här och andra alternativ för TextArea-komponenten med hjälp av dess egenskaper, metoder och händelser. Mer information finns i avsnittet om klassen TextArea i Referenshandbok för ActionScript 3.0 i Adobe Flash Professional .

Skapa ett program med komponenten TextArea

I proceduren nedan beskrivs hur du lägger till en TextArea-komponent i ett program när du redigerar. Exemplet anger en focusOut -händelsehanterare i TextArea-förekomsten, som bekräftar att användaren har skrivit något i textområdet innan fokus flyttas till en annan del av gränssnittet.

  1. Skapa ett nytt Flash-dokument (ActionScript 3.0).

  2. Dra en TextArea-komponent från panelen Komponenter till scenen och ge den förekomstnamnet aTa . Låt parametrarna ha kvar standardinställningarna.

  3. Dra ytterligare en TextArea-komponent från panelen Komponenter till scenen, placera den nedanför den första och ge den förekomstnamnet bTa . Låt parametrarna ha kvar standardinställningarna.

  4. Öppna åtgärdspanelen, markera bildruta 1 i huvudtidslinjen och ange följande ActionScript-kod:

    import flash.events.FocusEvent; 
     
    aTa.restrict = "a-z,'\" \""; 
    aTa.addEventListener(Event.CHANGE,changeHandler); 
    aTa.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, k_m_fHandler); 
    aTa.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, k_m_fHandler); 
     
    function changeHandler(ch_evt:Event):void { 
        bTa.text = aTa.text; 
    } 
    function k_m_fHandler(kmf_event:FocusEvent):void { 
        kmf_event.preventDefault(); 
    }

    Det här exemplet begränsar tecknen som du kan ange i aTa -textområdet till små bokstäver, kommatecken, apostrof och mellanslag. Det anger också händelsehanterare för händelserna change , KEY_FOCUS_CHANGE och MOUSE_FOCUS_CHANGE för aTa -textområdet. Funktionen changeHandler() gör så att texten som du anger i textområdet aTa text automatiskt visas i textområdet bTa , genom att tilldela aTa.text till bTa.text vid varje change -händelse. Funktionen k_m_fHandler() för händelserna KEY_FOCUS_CHANGE och MOUSE_FOCUS_CHANGE förhindrar att du trycker på tabbtangenten för att flytta till nästa fält utan att ange text. Det gör den genom att förhindra standardbeteendet.

  5. Välj Kontroll > Testa filmen.

    Om du trycker på tabbtangenten för att flytta fokus till det andra textområdet utan att ange text ska ett felmeddelande visas, och fokus ska återgå till det första textområdet. När du anger text i det första textområdet visas den duplicerad i det andra textområdet.

Skapa en TextArea-förekomst med ActionScript

Följande exempel skapar en TextArea-komponent med ActionScript. Egenskapen condenseWhite får värdet true för att dra ihop tomrum och tilldela text till egenskapen htmlText och dra nytta av formateringsattributen för HTML-text.

  1. Skapa ett nytt Flash-dokument (ActionScript 3.0).

  2. Dra TextArea-komponenten till bibliotekspanelen.

  3. Öppna åtgärdspanelen, markera bildruta 1 i huvudtidslinjen och ange följande ActionScript-kod:

    import fl.controls.TextArea; 
     
    var aTa:TextArea = new TextArea(); 
     
    aTa.move(100,100); 
    aTa.setSize(200, 200); 
    aTa.condenseWhite = true; 
    aTa.htmlText = '<b>Lorem ipsum dolor</b> sit amet, consectetuer adipiscing elit. <u>Vivamus quis nisl vel tortor nonummy vulputate.</u> Quisque sit amet eros sed purus euismod tempor. Morbi tempor. <font color="#FF0000">Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.</font> Curabitur diam. Suspendisse at purus in ipsum volutpat viverra. Nulla pellentesque libero id libero.';  
    addChild(aTa);

    I det här exemplet används egenskapen htmlText för att använda HTML-attributen fetstil och understrykning på ett textblock och visa det i textområdet a_ta . I exemplet ställs också egenskapen condenseWhite in på true för att dra ihop tomrum inuti textblocket. Metoden setSize() ställer in textområdets höjd och bredd, och metoden move() ställer in dess position. Metoden addChild() lägger till TextArea-förekomsten på scenen.

  4. Välj Kontroll > Testa filmen.