Ricardo,

não deves aceder a funcões e propriedades na Skin directamente, pois não consegues controlar o "momento" em que a Skin é anexada ao componente. Como te disse no mail anterior, tens três hipóteses:

1. Fazer Extend ao TextInput, e colocares no override ao partAdded um myBG.color = myColor; 2. Fazer Extend ao TextInput, adicionares uma propriedade à tua classe nova, e na Skin usares bindings para ir buscar o myColor; 3. Na Skin, podes fazer override ao styleChanged, fazer um getStyle, e aplicá-lo ao myBG.color

No caso 2:

class MyCustomTextInput extends TextInput
{
  [Bindable]
    public var myColor:uint;
}

E na skin, que deves criar com o Wizard:
<s:Skin>

<!-- fill -->
<s:Rect id="background">
<s:fill>
<s:SolidColor id="bgFill" color="{hostComponent.myColor}"/>
</s:fill>
</s:Rect>

</s:Skin>


Como te disse, dá uma vista de olhos nos slides da minha apresentacão no FlashCamp....


linkedIn <http://pt.linkedin.com/in/jsaleiro> João Saleiro
Chief Technology Officer
Tel:    00351 916 077 097
Email:  [email protected] <mailto:[email protected]>
Skype:  joao.saleiro <callto://pedro.arelo>

Webfuel Solutions <http://www.webfuel.pt> www.webfuel.pt <http://www.webfuel.pt>
Lisbon, Portugal


On 10-02-2011 12:07, Ricardo Araújo wrote:
tentei:
status_lbl.skin.myBackgroundColor = 0xFF0000;

e não deu!

tenho esta função dentro da skin:

public function set myBackgroundColor (value : Number) : void {
                        bgFill.color = value;
                }

ideal era mesmo poder chama-la assim directamente...


On 10 Fev, 11:54, João Saleiro<[email protected]>  wrote:
Ricardo,

cria uma skinclass para o teu textinput (se usares os wizards do Flash
Builder Burrito � f�cil). Depois na skin gerada, tens uma secc�o com:

<!-- fill -->
<s:Rect id="background">
<s:fill>
<s:SolidColor id="bgFill"/>
</s:fill>
</s:Rect>

Basta ent�o fazeres o c�digo Actionscript para mudares o color do bgFill.

Para mudares a cor dinamicamente, tens duas opc�es:

1. definir um estilo por CSS (pesquisa por setStyle() e getStyle(), e
pesquisa pelo override ao styleChanged que ter�s que colocar na tua skin
com um bgFill.color = getStyle(etc))
2. definir uma nova propriedade no TextInput (fazer extend ao TextInput,
e colocar uma propriedade public var bgColor:uint; Depois na skin, fazes
um<s:SolidColor id="bgFill" color="{hostComponent.bgColor}/>. Ou ent�o
fazes override ao partAdded (v� os slides da minha apresentac�o no
�ltimo FlashCamp)).

Depois das tuas pesquisas, se continuares com d�vidas, envia mail que
dou mais umas sugest�es.

linkedIn<http://pt.linkedin.com/in/jsaleiro>  Jo�o Saleiro
Chief Technology Officer
Tel:    00351 916 077 097
Email:  [email protected]<mailto:[email protected]>
Skype:  joao.saleiro<callto://pedro.arelo>

Webfuel Solutions<http://www.webfuel.pt>        www.webfuel.pt
<http://www.webfuel.pt>
Lisbon, Portugal

On 10-02-2011 11:46, Ricardo Ara�jo wrote:







Viva,
Tenho uma skin para um textinput e estou a aplica-la a uma textinput
que quero controlar dinamicamente a cor de fundo... fiz um set na skin
para alterar o background, mas n�o sei como chama-lo...
como � spark n�o tem a propriedade backgroundcolor directamente...
j� tentei isto:
<s:TextInput editable="false" id="status_lbl" width="300"
textAlign="center">
                            <s:skinClass>
                                    <Skins:MyLabelSkin>
                                            
<Skins:myBackgroundColor>0xFF0000</Skins:myBackgroundColor>
                                    </Skins:MyLabelSkin>
                            </s:skinClass>
                    </s:TextInput>
mas d� erro... (assim tamb�m d� para perceberem a estrutura que
tenho....
tamb�m j� tentei for�ar como setStyle e n�o ajudou!
antecipadamente os meus agradecimentos pela aten��o...
RA

--
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

<<inline: LinkedIn.gif>>

<<inline: Webfuel.gif>>

Responder a