SirDuke
04-23-2008, 06:35 PM
I wanted to change the color of the rolled-over node on the tree component so i used:
mainMenu.myTree.addEventListener(ListEvent.ITEM_CL ICK, MenuClickHandler);
mainMenu.myTree.addEventListener(ListEvent.ITEM_RO LL_OVER, MenuRollOverHandler);
mainMenu.myTree.addEventListener(ListEvent.ITEM_RO LL_OUT, MenuRollOutHandler);
function MenuRollOverHandler(e:ListEvent){
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuOverColor; //_menuOverColor = "0x000000"
}
function MenuRollOutHandler(e:ListEvent){
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuColor; //_menuColor = "0x888888"
}
And it works fine!
Now i want to change the color of an item when CLICKED so i use:
function MenuClickHandler(e:ListEvent):void {
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuOverColor;
}
But this just won't work!
I trace "tf.color" in each of those function. The first two return some number (like 8764948) but the last one (click handler) returns always zero (0)...
I check and see that in both cases i get the same textFormat Object! But in the click event handler i just can't change it...
Can anyone see why this could be caused?:eek:
Thanks
mainMenu.myTree.addEventListener(ListEvent.ITEM_CL ICK, MenuClickHandler);
mainMenu.myTree.addEventListener(ListEvent.ITEM_RO LL_OVER, MenuRollOverHandler);
mainMenu.myTree.addEventListener(ListEvent.ITEM_RO LL_OUT, MenuRollOutHandler);
function MenuRollOverHandler(e:ListEvent){
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuOverColor; //_menuOverColor = "0x000000"
}
function MenuRollOutHandler(e:ListEvent){
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuColor; //_menuColor = "0x888888"
}
And it works fine!
Now i want to change the color of an item when CLICKED so i use:
function MenuClickHandler(e:ListEvent):void {
var cr:TreeCellRenderer = mainMenu.myTree.itemToCellRenderer(e.item) as TreeCellRenderer;
var tf:TextFormat = cr.getStyle("textFormat") as TextFormat;
tf.color = _menuOverColor;
}
But this just won't work!
I trace "tf.color" in each of those function. The first two return some number (like 8764948) but the last one (click handler) returns always zero (0)...
I check and see that in both cases i get the same textFormat Object! But in the click event handler i just can't change it...
Can anyone see why this could be caused?:eek:
Thanks