Solved

In Flex/Actionscript, how do I change the highlighted roll-over and selection background color of the top-level menubar buttons for a <mx:MenuBar> component?

Posted on 2008-06-10
5
3,034 Views
Last Modified: 2010-04-21
I have a Flex application where I need to be able to change the highlighted roll-over and selection background color of the top-level menubar buttons for a <mx:MenuBar> component.  I already tried using the "rollOverColor" and "selectionColor" styles, but these seem to be applied to the drop-down/popup submenu items, not the actual top-level menubar.  Also, some of the buttons on the menubar are of type "separator", which act as spacers between menubar buttons.  Ideally, I would like to be able to turn off any roll-over/selection effects for the "separator" spacers on the main menubar as well.
<mx:Style>
        .mainMenu {
            color: #FFFFFF;
            fontWeight: bold;
        }               
        .subMenu {
            fontSize: 13;
            color: #ffffff;
            backgroundColor: #000000;
            borderSides: top, bottom, right, left;
            borderThickness: 1px;
            borderColor: #ffffff;
            fontWeight: normal;
        }               
</mx:Style>
 
<mx:MenuBar id="mainMenuBar" styleName="mainMenu" menuStyleName="subMenu"
            labelField="label" fontSize="15"
            click="handleMenuBarClickEvent(mainMenuBar.selectedIndex);" 
            itemClick="handleSubMenuBarClickEvent(event);" 
            dataProvider="{menuBarArrayCollection}">
    <mx:backgroundSkin>
        @Embed(source='com/project/images/layout/menu-bar.gif')
    </mx:backgroundSkin>
</mx:MenuBar>
 
//this is a regular menubar button in object format, supplied in the dataprovider
{label:"Home", data:1, children:[]}
 
//this is a separator for the menubar in object format
{label:"", type:"separator"}

Open in new window

0
Comment
Question by:robbersrow
  • 3
  • 2
5 Comments
 
LVL 19

Expert Comment

by:Gary Benade
ID: 21757119
You can't do that with styles, you need to use skins. I'll see if I can find you an example
0
 

Author Comment

by:robbersrow
ID: 21758001
Any examples would be greatly appreciated.
0
 

Author Comment

by:robbersrow
ID: 21766637
Instead of changing the background skin, another option would be to change the text/font color.  However, none of the styles, such as "rollOverColor" and such, seem to work.  Do you happen to have any ideas as far as this goes?
0
 
LVL 19

Accepted Solution

by:
Gary Benade earned 500 total points
ID: 21767036
I have to go to a meeting and I'm late so this is a pretty dumb example (I used the paypal logo as a skin) but it shows the concept

You'll have to add a skin for itemSkin and itemUpSkin too
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
	<mx:Style>
		MenuBar
		{
			color: #FF0000;
			selectedColor: #00FF00;
			itemOverSkin: Embed("https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif");			
		}
	</mx:Style>
	<mx:XMLList id="mainMenu">
        <menuitem label="File" >
            <menuitem label="Open Calendar" data="load">
	            <menuitem label="Logout" data="logout" />
	        </menuitem>
        </menuitem>
    </mx:XMLList>	
    <mx:MenuBar styleName="test" id="mm" labelField="@label" dataProvider="{mainMenu}" />
</mx:Application>

Open in new window

0
 

Author Closing Comment

by:robbersrow
ID: 31465651
This is what i was looking for.  Sorry for the delay in closing this solution.  Thank you for your help.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to create web api to extract oracle data using php 4 78
Legitimate Intranet Website Blocked MCaffe VSE 8.x and IE 3 80
PHP Session ID 5 101
Edit a page at wix.com 8 71
Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video teaches users how to migrate an existing Wordpress website to a new domain.
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question