# Using self built list

**URL:** <https://forum.kirupa.com/t/using-self-built-list/329396>\
**Category:** flash\
**Created:** [August 22, 2012, 3:37pm UTC](https://forum.kirupa.com/t/using-self-built-list/329396 "2012-08-22T15:37:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sterna](https://avatars.discourse-cdn.com/v4/letter/s/7cd45c/32.png) [@sterna](https://forum.kirupa.com/u/sterna)\
**Post date:** [August 22, 2012, 3:37pm UTC](https://forum.kirupa.com/t/using-self-built-list/329396/1 "2012-08-22T15:37:30Z")

</div>

Because I can’t change List objects colors I decided to build my own list:

function makeTrackList():void {  
var trackCount:int = xmlData.tracks.track.length();  
var listItemHeight = 18;  
trackList.height = trackCount \* listItemHeight;  
var listHeight = trackList.height;  
var listItemWidth = trackList.width;  
var listItemX = 0;  
var listItemY = 0;  
for (i=0; i\<trackCount; i++) {  
var listItem:trackListItem = new trackListItem;  
listItem.width = listItemWidth;  
listItem.height = listItemHeight;  
listItem.x = listItemX;  
listItem.y = listItemY;  
trackList.addChild(listItem);  
listItem.trackName.text = xmlData.tracks.track.artist\* + " - " + xmlData.tracks.track.title\*;  
listItemY = listItemY + listItem.height;  
}  
trackList.addEventListener(MouseEvent.ROLL\_OVER,overHand);  
trackList.addEventListener(MouseEvent.ROLL\_OUT,outClip);  
trackList.addEventListener(MouseEvent.CLICK, selectTrack);  
}

Building the list goes OK, but how do I know which element has been clicked and how do I handle ROLL\_OVER of elements, above ROLL\_OVER is for the list itself. Or are there better List objects than the one that comes with Flash CS4.
