|
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
på
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.
-
Skapa ett nytt Flash-dokument (ActionScript 3.0).
-
Dra en TextArea-komponent från panelen Komponenter till scenen och ge den förekomstnamnet
aTa
. Låt parametrarna ha kvar standardinställningarna.
-
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.
-
Ö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.
-
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.
-
Skapa ett nytt Flash-dokument (ActionScript 3.0).
-
Dra TextArea-komponenten till bibliotekspanelen.
-
Ö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.
-
Välj Kontroll > Testa filmen.
|
|
|