Topeltklikk ListBoxis
-
ennuonu† 22 a
terv
..et kuna ListBoxi kerimise idee sai maha maetud, siis kergitame
kohe uue kurioosse küsimuse :)Küsimus ise:
Kuidas saaks ListBoxiles topeltkliki selgeks õpetada? s.t. et kui
mingi aktiivse selektitud rea peal topeltklikk teha, siis käivitataks
mingi funktsioon või misiganes.Topeltkliki funktsiooni väljamõtlemine ei olnud keeruline, aga
see töötab mul ainult mingi MC või buttoni peal. Listboxile sai
seda ka nii mõndagi kohta topitud, aga ei hakanud tööle..appi :)
09. jaanuar 2003 - 10:33:30 · Otselink
-
Ooker 22 a
<a class="link" target="_blank" href="http://www.supernormal.planet.ee/savi/listbox_doubleclick/">http://www.supernormal.planet.ee/savi/listbox_doubleclick/</a>
see oli paras pähkel, aga justkui töötama sain. siiski laiemalt testimata. Minu näites launchib topeltkliki peale paar populaarset eestimaist saiti, aga see on muidugi ükskõik, mida ta just teeb ja ei puutu praegu asjasse.
Nii. Kui sul juba on listbox, on Library folderis ';Flash UI Components'; folder ';Core Assets - Developer Only'; milles on folder ';FUIComponent Class Tree'; milles on folder ';FUIComponent SubClasses'; milles on junn ';FSelectableItem';.
Seda me mudimegi, õigemini actioneid Methods layeril. Kasutasin seal tavalist ja lihtsat doubleclick meetodit.
Kohe kusagile algusesse, näiteks teisele reale kirjuta
var oldTime= getTimer();
var topeltKlikiAeg =200;
/* topeltkliki aeg siis on millisekundites ajavahemik,
mille jooksul mõlemad klikid toimuma peavad*/ja kuskil seal kuuekümne viienda rea kandis või umbes nii on ';this.highlight_mc.onPress '; funktsioon, mida tuleks vägistada järgmisel viisil:
this.highlight_mc.onPress = function()
{
/////////////////////////////////////
/// MINUEDIT ALGAB SIIT
////////////////////////////////////timeNow = getTimer();
kaheklikiVahe = timeNow - oldTime;
if (kaheklikiVahe < topeltKlikiAeg)
{
this.controller.enable=true;
} else {
this.controller.enable=false;
}
oldTime = getTimer();
///////////////////////////////////
////// MINUEDIT LÕPEB SIIN
/////////////////////////////////if (this.controller.enable)
{
this.controller.controller.clickHandler(this.controller.itemNum);
}
}ja voila! Tadaa, nanaa.
09. jaanuar 2003 - 13:24:26 · Otselink
-
ennuonu† 22 a
Kõik on väga bro -- väljaarvatud üks pisike, aga mulle oluline detail :)
Nimelt nüüd ei saa ListBoxis olevaid ridasid ühe klikiga selectida. Jama
selles, et mul on seda featuuri ka vaja :))Kui selle pisiasja ka korda saaks, siis ma viskaks silda ette ja tahapoole ;)
09. jaanuar 2003 - 13:59:17 · Otselink
-
Ooker 22 a
no sa ajad asja ikka väga põnevaks
09. jaanuar 2003 - 15:05:58 · Otselink
-
ennuonu† 22 a
ega ma pahapärast :) aga tõesti on neid mõlemaid featuure vaja.. nuuks..
algul kui oma pulka treima hakkasin, ei arvanud, et selline takistus võib ette
tulla. Ei jaganud siis Flashist suurt miskit. Nüüd enam ei taha kogu kupatust
ringi ka ehitama hakata. mitme kuu nikerdamine läheks muti auku.09. jaanuar 2003 - 16:13:52 · Otselink
-
Ooker 22 a
mida see listbox lõpuks tegema peaks hakkama?
10. jaanuar 2003 - 09:57:15 · Otselink
-
ennuonu† 22 a
Umbes nii..
ListBox sisaldab > 100 inimese nime. Nimed saadakse XML tabelist.
Käituma peaks nii, et nime ühekordsel klikil ehk selectimisel loetakse
XML tabelist selle nimega seotud ülejäänud andmed ning näidatakse
ühes eraldi MC-s. Topeltklikil peaks käivitama MC, mis näitab selle
konkreetse inimese asukohta majaplaanil.Point selles, et ma tahan näha selekteerimisriba listboxis. Kui seda ei
ole, siis jääb nigel välimus sellele asjandusele. Kuidagi hambutu
ühesõnaga :)) Eraldi nuppu ma ka ei tahaks teha kusile... ei jää hea.Kõik muu juba töötab, aga DoubleClik on puudu :)
10. jaanuar 2003 - 14:37:59 · Otselink