2009-03-15 5 views
1

Je souhaite définir l'icône d'un bouton en flex.Définir l'icône d'un bouton Flex avec un Sprite en cours d'exécution

La syntaxe par défaut est la suivante.

myButton.setStyle("icon", iconClass); 

et iconClass est normalement un objet incorporé.

Mais ce que je veux faire est, utiliser un Sprite standard ou un MovieClip (que je trouve pendant l'exécution) comme l'icône.

Est-ce possible? Est-ce que quelqu'un a fait ça?

Merci!

Répondre

-1

Trouvé une solution possible. http://blog.benstucki.net/?p=42 Je vais donner et signaler.

+0

Hi Chands, alors que ce lien peut répondre à la question, il est préférable d'inclure les éléments essentiels de la réponse ici et de fournir le lien de référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. Veuillez jeter un oeil ici: [Pourquoi et comment certaines réponses sont-elles supprimées?] (Http://stackoverflow.com/help/deleted-answers) – bummi

2

Ceci est en fait un défaut fatal dans le cadre de Flex en ce qui concerne le style. Lorsque Flex saisit une valeur de style pour une icône, il suppose qu'il s'agit du type Class et que l'objet instancié sera de type DisplayObject (ou dérivé). C'est un changement trivial au code (que les classes comme mx:Image font pour leur propriété source) pour tester si la valeur du style est de type DisplayObject et si c'est le cas, il suffit d'ignorer l'étape de construction qu'il effectue actuellement.

La solution de Ben est la meilleure possible si vous ne voulez pas changer la source d'infrastructure Flex. Personnellement, je finis par patcher les composants spécifiques pour accepter instancié DisplayObjects au lieu de Classes. Certains composants sont plus douloureux que d'autres à patcher.

Doug McCune explaining how to monkey patch the Flex framework.

Questions connexes