Hello Everyone,

Here's an idea that you all can use when creating
widgets like Listboxs, Treeviews, Grids, ListView,
etc:

The idea is to only use a set number of layers and
then store the actual content inside an array. The
code below currently works in IE but can be converted
to work in DynAPI.

Here we got:

<html>
<body>
<div style="width:100;border:1 solid #cccccc">
<div
onclick="status=ar[inx].text;ar[inx].state=!ar[inx].state;showlist();"
id=l1 style="width:100;border:0 solid
#cccccc">&nbsp;</div>
<div
onclick="status=ar[inx+1].text;ar[inx+1].state=!ar[inx+1].state;showlist();"
id=l2 style="width:100;border:0 solid
#cccccc">&nbsp;</div>
<div
onclick="status=ar[inx+2].text;ar[inx+2].state=!ar[inx+2].state;showlist();"
id=l3 style="width:100;border:0 solid
#cccccc">&nbsp;</div>
<div
onclick="status=ar[inx+3].value;ar[inx+3].state=!ar[inx+3].state;showlist();"
id=l4 style="width:100;border:0 solid
#cccccc">&nbsp;</div>
</div>
<script>
var inx=0,vis=4,tm,itm
var ar=new Array()
for (i=0;i<=100;i++){
        itm={text:'',value:'',state:0}
        itm.text=i //String.fromCharCode(i+65)+" item"
        itm.value="x"+i
        ar[i]=itm
}

function showlist() {
        var mx=ar.length>vis?vis:ar.length
        for(i=1;i<=mx;i++) {
                document.all["l"+i].innerText=ar[inx+(i-1)].text
                if (ar[inx+(i-1)].state==1) {
                        document.all["l"+i].style.backgroundColor="#eeeeee"
                }else{
                        document.all["l"+i].style.backgroundColor=""
                }
        }
}

function listdown() {
        if (inx>(ar.length-vis)-1) return
        inx++
        showlist()
}

function listup() {
        if ((inx)<=0) return
        inx--
        showlist()
}

showlist()
</script>
<input type="button"
onmousedown="listdown();tm=setInterval('listdown()',150);"
onmouseup="clearInterval(tm)" value="Dn">&nbsp;
<input type="button"
onmousedown="listup();tm=setInterval('listup()',150);"
onmouseup="clearInterval(tm)" value="Up">
</body>
</html>


All the best!

--
Raymond


__________________________________________________
Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.
http://shopping.yahoo.com

_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/

Reply via email to