Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    setTextFormat su campi generati dinamicamente

    Ciao a tutti.
    Il mio scopo è quello di generare tramite un ciclo dei campi dinamici per visualizzare una serie di variabili che pesco da un DB. Fino a qui nessun problema.
    Quando però creo un formato per i campi non so cosa mettere nella seguente riga al posto di "myTextField", visto che il nome cambia ad ogni ripetizione del ciclo:

    myTextField.setTextFormat(myTextFormat);

    Che ci va al posto di "myTextField"?
    Ho provato anche ad utilizzare un array per creare i campi, ma il codice non mi riconosce una sintassi del tipo:

    _root.createTextField("myText"+n, i, x, y, 200, 100);

    oppure:

    _root.createTextField(myTextArray[ì], i, x, y, 200, 100);

    Il codice funzionante del ciclo che crea i campi ed il formato è il seguente:

    //CREO DELLE VARIABILI PER I CONTATORI E LE COORDINATE DEI CAMPI DITESTO
    testo = "Testo ";
    x = 600;
    y = 0;
    i = 1;
    n = 10;
    //CREO UN FORMATO PER IL TESTO E IMPOSTO LE PROPRIETA'
    myformat = new TextFormat();
    myformat.color = 0x0000c0;
    myformat.font = "arial";
    myformat.bold = true;
    myformat.size = 11;
    //CREO UN CICLO PER DUPLICARE IL CAMPO TESTO n VOLTE
    for (i=1; i<=n; i++) {
    _root.createTextField("myText", i, x, y, 200, 100);
    myText.text = testo+i;
    myText._name = "mytext"+i;
    trace(y);
    trace(i);
    trace(n);
    y = y+15;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477

    Re: setTextFormat su campi generati dinamicamente

    Originariamente inviato da mirkoniciarelli

    //CREO UN FORMATO PER IL TESTO E IMPOSTO LE PROPRIETA'
    myformat = new TextFormat();
    myformat.color = 0x0000c0;
    myformat.font = "arial";
    myformat.bold = true;
    myformat.size = 11;
    //CREO UN CICLO PER DUPLICARE IL CAMPO TESTO n VOLTE
    for (i=1; i<=n; i++) {
    _root.createTextField("myText", i, x, y, 200, 100);
    myText.text = testo+i;
    myText._name = "mytext"+i;
    trace(y);
    trace(i);
    trace(n);
    y = y+15;
    }
    così però non duplichi ma crei tanti campi di testo. Io proverei a creare un campo di testo in un mc e nel ciclo userei il duplicateMovieClip. In questo modo le proprietà del campo di testo (che è all'interno del MC) vengono duplicate anche per tutti gli altri campi.

  3. #3

    Re: Re: setTextFormat su campi generati dinamicamente

    Originariamente inviato da Zippo
    così però non duplichi ma crei tanti campi di testo. Io proverei a creare un campo di testo in un mc e nel ciclo userei il duplicateMovieClip. In questo modo le proprietà del campo di testo (che è all'interno del MC) vengono duplicate anche per tutti gli altri campi.
    In realtà il fatto di creare n campi di testo è proprio quello che mi serve.
    Avevo provato anche a duplicare un MC, ma in quel caso avevo più difficoltà nella gestione delle variabili, perché nella duplicazione vanno perdute.
    Ora il problema che mi rimane è solo indicare il nome corretto nell'assegnazione del textFormat.

    Ciao, grazie mille.
    --
    Mko

  4. #4
    myformat = newTextFormat()
    myformat.font="_sans"
    myformat.size=10


    for(i=1; i<N; i++){

    nomecampo="field"+i
    L=100 // lunghezza campo
    H=20 // altezza campo
    X=0 // pos X campo
    Y=H*i-H // pos y campo
    _root.createTextField(nomecampo,i,X,Y,L,H)
    _root[nomecampo].type="Dynamic"
    _root[nomecampo].text=tua variabile

    _root[nomecampo].setFormat(myformat)
    }

    Ciao

  5. #5
    Grazie mille, così ho risolto il problema dell'assegnazione del nome (scrivevo "_root.nomecampo" invece di "_root[nomecampo]").

    Però non mi funziona il comando:
    _root[nomecampo].setFormat(myformat)

    Il format è valido (tastato assegnandolo direttamente ad un campo), ma in questo modo non me lo riconosce e/o non lo assegna ai campi generati dinamicamente. Che può essere?

    Ciao, grazie.
    --
    Mko

  6. #6
    e dai mi sono sbagliato a scrivere lo hai scritto anche tu il comando

    _root[nomecampo].setTextFormat (myformat)

  7. #7
    RISOLTO!!!
    Era setTextFormat, non setFormat!
    _root[nomecampo].setFormat(myformat)

    Di nuovo grazie mille, mi hai dato un gran bell'aiuto!

    Ciao!
    --
    Mko

  8. #8
    Originariamente inviato da rempox
    e dai mi sono sbagliato a scrivere lo hai scritto anche tu il comando

    _root[nomecampo].setTextFormat (myformat)
    Sì, come vedi me ne ero accorto, ma con un po' di ritardo... :tongue:

    Sono gli imprevisti del copia/incolla!

    Grazie ancora, ciao!
    --
    Mko

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.