Question

Je suis nouveau dans Flex, mais pas dans la programmation. Je veux écrire un gestionnaire d'événements générique qui sera appelé par toutes mes boîtes d'introduction de texte lorsqu'elles reçoivent le focus. Quand ils ont le focus, je veux changer la couleur de la zone de saisie de texte. Quand ils perdent la concentration, je veux restaurer le mode "inactif". profil de couleur. Je pourrais écrire un gestionnaire d'événements ActionScript pour chaque zone de saisie de texte, mais nous savons tous que c'est nul. : o) Il me faut donc un moyen d'accéder à l'objet qui appelle le gestionnaire d'événements.

Dans Delphi, j'aurais écrit une fonction qui passe dans l'objet Sender, me permettant d'accéder aux propriétés de l'objet appelant. J'imagine qu'ActionScript / Flex a une architecture complètement différente, c'est pourquoi j'ai de la difficulté à le faire.

Merci d'avance!

Était-ce utile?

La solution

Vous devez sous-classer TextInput et gérer les événements de focus qui s'y trouvent. Je pense que ce serait le moyen le plus simple de réaliser ce que vous recherchez sans code complexe.

Autres conseils

J'espère comprendre ce que vous demandez. Parlez-vous de la délégation d'événements?

Cela a fonctionné pour moi:

// 'focusOut' for blur
stage.addEventListener('focusIn', function(e:Event):void {
    // The focused control is e.target
});

Si vous souhaitez modifier l'aspect de la zone de saisie sélectionnée, définissez la propriété focusSkin . Si vous souhaitez que cela se produise globalement, vous pouvez insérer une déclaration de style dans votre fichier CSS.

Dans cet exemple CSS, je remplace le focusSkin par défaut ( mx.skins.halo.HaloFocusRect ) par un fichier PNG incorporé.

TextInput {
  focusSkin: Embed(source="focus.png");
}

TextInput a quelques propriétés pour modifier l'aspect du focus, telles que la modification de l'opacité du skin de focus (propriété focusAlpha ). Pour plus d’informations, consultez la documentation TextInput .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top