Il componente TextArea è un componente di testo a riga singola, wrapper dell'oggetto TextField nativo di ActionScript. Potete usare il componente TextArea per visualizzare del testo e per modificare e ricevere input di testo se la proprietà
editable
è impostata su
true
. Il componente è in grado di visualizzare o ricevere più righe di testo e mandare a capo automaticamente le righe di testo lunghe se la proprietà
wordWrap
è impostata su
true
. La proprietà
restrict
consente di limitare i caratteri che l'utente può inserire, mentre
maxChars
consente di specificare il numero massimo di caratteri consentiti. Se il testo supera i limiti orizzontale e verticale dell'area di testo, vengono visualizzate automaticamente le barre di scorrimento orizzontale e verticale, a meno che le proprietà associate
horizontalScrollPolicy
e
verticalScrollPolicy
non siano impostate su
off
.
È possibile utilizzare un componente TextArea ogni volta che è necessario un campo di testo multiriga. Ad esempio, è possibile utilizzare un componente TextArea come campo di commento in un form. Potete impostare un listener che verifica se il campo è vuoto quando un utente preme il tasto Tab per uscire dal campo. Questo listener potrebbe visualizzare un messaggio di errore che indica che è necessario inserire un commento nel campo.
Se è necessario un campo di testo a riga singola, utilizzare il componente TextInput, componente.
Per cambiare lo stile del testo visualizzato in un'istanza TextArea, impostate lo stile
textFormat
usando il metodo
setStyle()
. A un componente TextArea potete inoltre applicare il formato HTML usando la proprietà
htmlText
in ActionScript. Inoltre, potete impostare la proprietà
displayAsPassword
su
true
per mascherare il testo mediante asterischi. Se impostate la proprietà
condenseWhite
su
true
, viene rimosso automaticamente lo spazio vuoto supplementare contenuto nel nuovo testo (spazi, interruzioni di riga e così via). Non ha effetto sul testo già presente nel controllo.
Interazione dell'utente con il componente TextArea
Un componente TextArea può essere abilitato o disabilitato in un'applicazione: Quando è disattivato, non può ricevere input dal mouse o dalla tastiera. Quando è abilitato, segue le stesse regole di attivazione e di navigazione di un oggetto TextField di ActionScript. Quando un'istanza del componente TextArea è attiva, potete usare i seguenti tasti per controllarla:
Chiave
|
Descrizione
|
Tasti freccia
|
Spostano il punto di inserimento in alto, in basso, a sinistra o a destra all'interno del testo, se il testo è modificabile.
|
PgGiù
|
Sposta il punto di inserimento alla fine del testo, se il testo è modificabile.
|
Pagina su
|
Sposta il punto di inserimento all'inizio del testo, se il testo è modificabile.
|
Maiusc+Tab
|
Attiva l'oggetto precedente nel ciclo di tabulazioni.
|
Tab
|
Attiva l'oggetto successivo nel ciclo di tabulazioni.
|
Per ulteriori informazioni sul controllo dell'attivazione, vedete la classe FocusManager nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
e
Operazioni con FocusManager
.
Parametri del componente TextArea
Potete impostare i parametri di creazione seguenti per ogni istanza del componente TextArea nella finestra di ispezione Proprietà o nella finestra di ispezione dei componenti:
condenseWhite
,
editable
,
hortizontalScrollPolicy
,
maxChars
,
restrict
,
text
,
verticalScrollPolicy
e
wordwrap
. Ciascuno di questi parametri ha una proprietà ActionScript corrispondente con lo stesso nome. Per informazioni sui valori che potete impostare per questi parametri, vedete la classe TextArea nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Nell'anteprima dal vivo di ogni istanza di TextArea vengono visualizzate le modifiche apportate ai parametri nella finestra di ispezione Proprietà o nella finestra di ispezione dei componenti durante la creazione. Se è necessaria una barra di scorrimento, nell'anteprima dal vivo viene visualizzata ma non funziona. Il testo non è selezionabile nell'anteprima dal vivo e non è possibile immetterlo nell'istanza del componente sullo stage.
È possibile creare codice ActionScript per controllare queste e altre opzioni per il componente TextArea utilizzandone le proprietà, i metodi e gli eventi. Per ulteriori informazioni, vedete la classe TextArea nella
Guida di riferimento di ActionScript 3.0
per Flash Professional
.
Creare un'applicazione con il componente TextArea
La procedura seguente indica come aggiungere un componente TextArea a un'applicazione durante la creazione. L'esempio imposta sull'istanza TextArea un gestore di eventi
focusOut
che verifica che l'utente abbia digitato dei caratteri nel campo di testo prima di attivare una parte diversa dell'interfaccia.
-
Create un nuovo documento Flash (ActionScript 3.0).
-
Trascinate un componente TextArea dal pannello Componenti allo stage e assegnategli il nome di istanza
aTa
. Lasciate invariate le impostazioni predefinite dei parametri.
-
Trascinate un secondo componente TextArea dal pannello Componenti allo stage, posizionatelo sotto il primo e assegnategli il nome di istanza
aTa
. Lasciate invariate le impostazioni predefinite dei parametri.
-
Aprite il pannello Azioni, selezionate il fotogramma 1 nella linea temporale principale, quindi immettete il codice ActionScript seguente:
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();
}
In questo esempio i caratteri che potete inserire nell'area di testo
aTa
vengono limitati a caratteri minuscoli, virgola, apostrofo e spazi. Vengono inoltre impostati i gestori di eventi per gli eventi
change
,
KEY_FOCUS_CHANGE
e
MOUSE_FOCUS_CHANGE
dell'area di testo
aTa
. La funzione
changeHandler()
causa la visualizzazione automatica del testo inserito nell'area di testo
aTa
nell'area di testo
bTa
, mediante l'assegnazione di
aTa.text
a
bTa.text
per ogni evento
change
. La funzione
k_m_fHandler()
per gli eventi
KEY_FOCUS_CHANGE
e
MOUSE_FOCUS_CHANGE
impedisce all'utente di premere il tasto Tab per passare al campo successivo senza avere inserito del testo. Questa impostazione impedisce l'esecuzione del comportamento predefinito.
-
Selezionare Controllo > Prova filmato.
Se premete il tasto Tab per attivare la seconda area di testo senza inserire del testo, viene visualizzato un messaggio di errore e viene riattivata la prima area di testo. Se inserite del testo nella prima area di testo, questo viene duplicato nella seconda area di testo.
Creare un'istanza TextArea mediante ActionScript
Nell'esempio seguente viene creato un componente TextArea mediante ActionScript. La proprietà
condenseWhite
viene impostata su
true
per comprimere lo spazio vuoto e il testo viene assegnato alla proprietà
htmlText
per avvalersi degli attributi di formattazione del testo HTML.
-
Create un nuovo documento Flash (ActionScript 3.0).
-
Trascinate il componente TextArea nel pannello Libreria.
-
Aprite il pannello Azioni, selezionate il fotogramma 1 nella linea temporale principale, quindi immettete il codice ActionScript seguente:
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);
In questo esempio viene usata la proprietà
htmlText
per applicare gli attributi di sottolineatura e grassetto HTML a un blocco di testo e visualizzarlo nell'area di testo
a_ta.
Viene inoltre impostata la proprietà
condenseWhite
su
true
per comprimere gli spazi all'interno del blocco di testo. Il metodo
setSize()
consente di impostare l'altezza e la larghezza dell'area di testo, mentre il metodo
move()
ne imposta la posizione. Il metodo
addChild()
aggiunge l'istanza TextArea allo stage.
-
Selezionare Controllo > Prova filmato.
|
|
|