This is a completely stripped down version.

---------------
ComboTest.mxml
---------------

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="absolute">

        <mx:Style>
                .comboStyle
                {
                        border-style: solid;
                        border-thickness: 4;
        down-skin: ClassReference('ComboBoxSkin');
        over-skin: ClassReference('ComboBoxSkin');
        up-skin: ClassReference('ComboBoxSkin');                        
                }
        </mx:Style>
        
        <mx:ComboBox id="myCombo" x="128" y="122" width="402" height="45"
                styleName="comboStyle" borderColor="0xffff00">
                <mx:dataProvider>
                        <mx:Array>
                                <mx:String>Item 1</mx:String>
                                <mx:String>Item 2</mx:String>
                                <mx:String>Item 3</mx:String>
                                <mx:String>Item 4</mx:String>
                        </mx:Array>
                </mx:dataProvider>
        </mx:ComboBox>
        
</mx:Application>

------------------
ComboBoxSkin.as
-----------------

package
{
        import flash.display.Graphics;
        import mx.skins.Border;
        
        public class ComboBoxSkin extends Border
        {       
    override public function get measuredWidth():Number
    {
        return 22;
    }
       
    override public function get measuredHeight():Number
    {
        return 22;
    }
        
                override protected function updateDisplayList(w:Number, 
h:Number):void
                {
                        super.updateDisplayList(w, h);

                        var color:uint; 
                        var borderColor:uint = getStyle("borderColor");
                        
                        var g:Graphics = graphics;
                        g.clear();      
                        
                        // Draw the border and fill.
                        switch (name)
                        {
                                case "upSkin":
                                case "editableUpSkin":
                                case "overSkin":
                                case "editableOverSkin":
                                case "downSkin":
                                case "editableDownSkin":
                                        color = borderColor;
                                        break;                          
                                case "disabledSkin":
                                case "editableDisabledSkin":
                                {
                                        // border
                                        color = 0x999999;
                                        break;
                                }
                        }
        
                        // draw the border
                        var borderThickness:int = getStyle("borderThickness");
                        g.lineStyle(borderThickness, color);
                        g.drawRect(0, 0, w, h);
                        
                        // draw the fill
                        g.beginFill(0x000000, 0);
                        g.drawRect(0, 0, w, h);         
                        g.endFill();    
                        
                        g.moveTo(w - 22, 4);
                        g.lineTo(w - 22, h - 8);
                }
        }
}



--- In [email protected], "Ethan Miller" <[EMAIL PROTECTED]> wrote:
>
> Can you provide a code sample of what you did inside ComboBoxSkin? 
I see the various 
> routines in there, but didn't see the lineStyle which is where, I
presume, you'd increase the 
> thickness....??
> 
> cheers, ethan
> 
> > Ok, I was wrong. Setting the borderStyle and borderThickness on the
> > combo box does not do anything. Instead, I set a custom skin on the
> > combobox and it works.
> > 
> > border-style: solid;
> > border-color: #00ff00;
> > border-thickness: 5;
> > down-skin: ClassReference('ComboBoxSkin');
> > over-skin: ClassReference('ComboBoxSkin');
> > up-skin: ClassReference('ComboBoxSkin');
> > 
> > In the ComboBoxSkin, get the borderThickness and borderColor style
> > properties and draw the borders for all the states.
> > 
> > - venkat
> > http://www.venkatj.com
> > 
> > --- In [email protected], Sherif Abdou <sherif626@> wrote:
> > >
> > > If i had to guess i think it may have something to do with the
> > scale9Grid but I am relatively new to flex
> > > Flex examines the scale9Grid property to determine the value of the
> > borderMetrics style.
> > > 
> > > 
> > > ----- Original Message ----
> > > From: Ethan Miller <flexcoders@>
> > > To: [email protected]
> > > Sent: Friday, January 18, 2008 6:56:35 PM
> > > Subject: [flexcoders] Re: Border Thickness On ComboBox?
> > > 
> > > --- In [EMAIL PROTECTED] ups.com, "rueter007" <rueter007@ ..>
wrote:
> > > >
> > > > set the borderStyle to be solid.
> > > 
> > > Tried that.... 
> > > 
> > > There's a note in the docs about borderThickness being overridden if
> > > dropDownStyle is set... tried nulling that as well. Still no effect.
> > > 
> > > ??
> > > 
> > > ethan 
> > > 
> > > 
> > > 
> > > 
> > > 
> > >      
> >
____________________________________________________________________________________
> > > Looking for last minute shopping deals?  
> > > Find them fast with Yahoo! Search. 
> > http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> > >
> >
>


Reply via email to