Avatar billede kalleballe Nybegynder
16. oktober 2002 - 20:12 Der er 7 kommentarer og
1 løsning

textformat objektet i flash mx

Jeg har en tekst box der ser sådan cirka således ud:

Hanky Panky
John Wayne
Data Nørd

i koden står der:

mus = ["Hanky Panky", "John Wayne", "Data Nørd"];

for (f=0; f<mus.length; f++) {
    mus[f] = "<A HREF='asfunction:_root.farve,"+(mus[f]).toString()+"'>"+mus[f]+"</a>"+"<br>";
    }
sText2 = mus.join("");  // fjerner komma mellem navne

okay, - jeg kalder en asfunction der laver mine navne om til links etc.


Men så er det at jeg gerne vil have at navnene også bliver fx understreget når man trykker på dem.

Jeg tænkte så på at bruge textFormat objektet:

myformat = new TextFormat();
myformat.color = 0xff0000;
myformat.bullet = true;
myformat.underline = true;

Men jeg kan ikke rigtig få det kædet sammen...

Er der mon nogen andre der kan??

vh

KalleBalle
Avatar billede baitianlong Nybegynder
16. oktober 2002 - 21:02 #1
Kan du ikke bare skrive:

<A HREF='asfunction:_root.farve,"+(mus[f]).toString()+"'><u>"+mus[f]+"</u></a>"+"<br>

Måske har jeg misforstået et eller andet (o;
Avatar billede alexander_j Nybegynder
16. oktober 2002 - 22:22 #2
1. Læg din "myformat = ....."-kode først i din flashfilm (fx frame 1)
2. Giv din textbox instancenavnet "mintextbox"
3. Og læg denne kode i samme frame som din textbox "_root.mintextbox.setTextFormat(myformat);"

Så skulle det vist virke?

/Alexander
Avatar billede kalleballe Nybegynder
16. oktober 2002 - 23:50 #3
Til legende: jo, - men det gør jo alle post understreget hele tiden, - det skal jo kun være når der er klikke på en af dem at den pågældende post så bliver understreget.

Til Alexander, - jeg prøver dit forslag.

Tak for hjælpen til jer begge to.

vh

KalleBalle
Avatar billede alexander_j Nybegynder
17. oktober 2002 - 10:49 #4
Jeg tror mit forslag blev noget vrøl - sorry :-(

(Jeg tror ikke det er muligt medmindre du opretter teskstrengene i hvert sin textbox)
Avatar billede kalleballe Nybegynder
17. oktober 2002 - 11:21 #5
Det er i orden, - ellers tak for forsøget.
Avatar billede alexander_j Nybegynder
17. oktober 2002 - 11:37 #6
Jeg tror ikke du kan bruge TextFormat her, da det ændre formatet på al teksten i tekstboksen! Så hvis du vil bruge det, må du splitte din tekst op og ligge dem i hver sin tekstboks!
Avatar billede kalleballe Nybegynder
17. oktober 2002 - 11:46 #7
Hej,
jeg har faktisk fået det til at virke før i et tilfælde hvor jeg havde dynamisk html text felt med en talrække af varierende længde.

1,2,3,4,5,6,7 etc.

og når man så klikkede på et tal så skiftede det farve og udførte en handling der var defineret ved hjælp af en asfunction.

Du kan se koden her:

function highlight_text_field_display(highlighttext) {
    trace("highlighttext er squ ="+parseInt(highlighttext));
    highlighttexten = parseInt(highlighttext);
    highlighttexten = highlighttexten-1;
    _root.teksten = _root.data9[highlighttexten].tekst;
    _root.ProduktID = _root.data9[highlighttext].id;
    _root.produktnavn = _root.data9[highlighttexten].productname;
    _root.stortBillede(root.data9[highlighttexten].image);
    _level0.scrollholder.scrollpaneholder.setScrollPosition((highlighttexten)*87);
    // position of scrollpane
    for (f=0; f<_root.data9.length; f++) {
        myColor = new Color("_level0.scrollholder.scrollpaneholder.tmp_mc.bat"+[f]);
        myColor.setRGB(0xCCCCCC);
    }
    myColor = new Color("_level0.scrollholder.scrollpaneholder.tmp_mc.bat"+[highlighttexten]);
    myColor.setRGB(0xff0000);
    find_text_to_highlight(textfielddisplay, highlighttext);
}
textfieldVar += " ";
default_tf = new TextFormat();
default_tf.bold = false;
default_tf.underline = false;
default_tf.color = 0x000000;
highlight_tf = new TextFormat();
highlight_tf.bold = true;
highlight_tf.underline = true;
highlight_tf.color = 0xff0000;
function find_text_to_highlight(textfieldref, highlighttext) {
    textfieldref.setTextFormat(default_tf);
    var textval;
    var foundat;
    var searchindex;
    var testresult;
    foundat = new Array();
    textval = textfieldref.text;
    searchindex = 0;  // det er her omkring det sner
    do {
        testresult = textval.indexOf(highlighttext, searchindex);
        if (testresult !== -1) {
            foundat.push(testresult);
            searchindex = testresult+highlighttext.length;
        }
    } while (testresult>-1);
    trace("\""+highlighttext+"\""+" FOUND AT: "+foundat.join("; "));
    highlight_section(textfieldref, highlighttext.length, foundat);
}
function highlight_section(textfieldref, highlightlength, foundat) {
    var i;
    for (i=0; i<foundat.length; i++) {
        textfieldref.setTextFormat(foundat[i], foundat[i]+highlightlength, highlight_tf);
        myColor = new Color(("bat"+[i]));
        myColor.setRGB(0xCCCCCC);
    }
    myColor = new Color((this._name));
    myColor.setRGB(0xff0000);
}
find_text_to_highlight(textfielddisplay, " 1 ");
Avatar billede kalleballe Nybegynder
29. september 2004 - 22:00 #8
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester