--- In flexcoders@yahoogroups.com, "zzwi89" <[EMAIL PROTECTED]> wrote:

> I am attempting to skin my components using the method shown here:
> http://www.adobe.com/devnet/flex/articles/flex_skins.html.
> 
> Even when I simply publish the default Flash skin file and use it in
> my application, I can no longer change the size of a panel's border,
> for instance.
> 
> Is this simply a limitation of Flex or is there a way around it? I
> feel like the skinning at first seems promising and then turns out to
> be a letdown.

Hi,

The intent of graphical skinning (which is what the templates in that
article provide) is that it allows you to replace the default
component skin with specific custom artwork.  Because this is custom
artwork, Flex doesn't know anything about its internal structure, so
it doesn't know what part of the artwork is the "border" that you want
to make thicker.  

The default component skins (HaloAeon) can respond to styles set on
the component (border thickness, background color, etc.) because
they're implemented programmatically--in other words, they draw
themselves at runtime based on those style values.  When you replace
the default programmatic skin with a graphical skin, most of these
styles no longer apply; the assumption is that you've "baked" the
exact appearance you want into the graphical skin.

If you need to create custom Panel skins that have different border
thicknesses, you have a couple of options:

-- Draw multiple graphical skins that have the different border
thicknesses you want, and create CSS rules for the various skins using
"." names (e.g. ".thinPanel", ".thickPanel").  You can then attach
them to different Panels using the "styleName" property (e.g.
<mx:Panel styleName="thinPanel">, <mx:Panel styleName="thickPanel">).

(Note that if you do this, you will still need to set the
borderThickness styles as well for each skin.  Even though the
borderThickness styles don't change the appearance of the graphical
artwork you provide, they do tell Flex how much padding to put around
the content so it doesn't overlap the borders you drew into the
artwork.  See "Setting the Panel content area" on this page:
http://www.adobe.com/devnet/flex/articles/flex_skins_08.html
)

-- Create a programmatic skin that draws the artwork at runtime using
ActionScript based on the styles you set on the component.

Thanks,

nj





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/flexcoders/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to