• › Connexion
  • Blog RIA
Section separator

Catégories

  • Annonces
  • Concepts et Usages
  • Événements
  • Général
  • Notes Techniques
  • Références
Adobe EMEA Silver Solution Partner Section separator

Abonnement

  • RSS Articles Articles (RSS)
  • RSS Articles Commentaires (RSS)
  • RSS mail Articles (Email)
  • Populaires
  • Récents
  • Commentaires
  • Retour sur le Visual Decision Forum’11 ! (vu 4 111 fois)
  • De l’art d’auto-compléter (en interaction clavier/souris) (vu 1 414 fois)
  • Flex 4 : Tour d’horizon sur les ItemRenderers (vu 1 391 fois)
  • Flex est mort, vive Flex ! (vu 1 234 fois)
  • Internationalisation & Localisation : Les nouveautés Flex 4.5 (vu 1 177 fois)
  • Sortie de Kalileo 2.4
  • TestRail : on l’a testé, on l’a adopté !
  • DB2 à la page dans Hibernate 4
  • Parsley fait peau neuve
  • Apache Flex Logo Contest : il n’en restera qu’un pour les gouverner tous !
  • Sphaxslayer dans Contest logo Apache Flex : Nos propositions
  • Anonyme dans Contest logo Apache Flex : Nos propositions
  • Pbergsma dans Contest logo Apache Flex : Nos propositions
  • Liens informatiques du mois – janvier 2012 | Gestion de projet et développement informatique dans Flex est mort, vive Flex !
  • Florian Fesseler dans Flexmojos : Quick compile mode

Auteurs

  • Alexis Kartmann (11)
  • Antoine Gehl (4)
  • Benoit Kogut-Kubiak (2)
  • Cyril Daloz (10)
  • Daniel Pesic (6)
  • Delphine Estebanez (4)
  • Fadi Mansour (3)
  • Florent Hirsch (1)
  • Florian Fesseler (13)
  • Gaétane Stavaux (3)
  • Guillaume Mignard (4)
  • Java Team (1)
  • Julien Revel (22)
  • Mahmoud Ramadan (1)
  • Matthieu Jobert (1)
  • Morgan Bruneau (1)
  • Stéphane Guyot (1)
  • Stéphane Koëth (2)
  • Thomas de Verdière (1)
  • Yann Graufogel (3)
Section separator

Tags

Adobe Business Exchange Adobe MAX AIR AMF AS3 Cairngorm Corporate Data Visualization Flex Framework JAVA Kap Inspect Kap Lab LCDS LiveCycle Mobile MVC PureMVC QA Reporting RIA RTMP Spark UX Web 2.0
Section separator

Archives

  • avril 2012 (1)
  • février 2012 (3)
  • janvier 2012 (5)
  • décembre 2011 (1)
  • novembre 2011 (2)
  • octobre 2011 (4)
  • août 2011 (2)
  • juillet 2011 (5)
  • juin 2011 (4)
  • mai 2011 (1)
  • mars 2011 (1)
  • janvier 2011 (1)
  • décembre 2010 (1)
  • novembre 2010 (3)
  • juin 2010 (1)
  • mars 2010 (1)
  • février 2010 (1)
  • décembre 2009 (2)
  • novembre 2009 (1)
  • octobre 2009 (3)
  • septembre 2009 (1)
  • août 2009 (1)
  • avril 2009 (2)
  • février 2009 (1)
  • janvier 2009 (3)
  • décembre 2008 (4)
  • novembre 2008 (2)
  • octobre 2008 (2)
  • septembre 2008 (2)
  • août 2008 (1)
  • juin 2008 (1)
  • avril 2008 (4)
  • mars 2008 (3)
  • février 2008 (2)
  • janvier 2008 (1)
  • décembre 2007 (3)
  • novembre 2007 (1)
  • septembre 2007 (1)
  • juillet 2007 (1)
  • juin 2007 (1)
  • mai 2007 (3)
  • avril 2007 (8)
  • mars 2007 (2)
  • février 2007 (1)

Marque-pages

  • Adobe Blogs
  • Adobe Developer Connection
  • Adobe Evangelists
  • Adobe Flex Tutorials (FR)
  • Code moi un mouton
Section separator

Kap IT

  • Site Web
  • Blog RIA
  • Kap Lab - Composants Flex
  • Kap Lab - Plugins Confluence

Blog RIA

Veille, Recherche et Développement RIA Flex-AS3-LiveCycle

Détection de l’Événement « Coller » avec Flex Builder 3 et Flash Player 9

Par Fadi MansourgravatarFermerAuteur : Fadi Mansour Email : contact@kapit.fr
Site : http://www.kapit.fr
A propos : Voir les autres billets de l'auteur (3)
, publié le 5 novembre 2009

Introduction

Pour des raisons de sécurité, une application Flex qui tourne dans Flash Player 9 ne peut accéder au presse-papier. En effet, l’accès à ce dernier pourrait permettre à une application de récupérer des informations auxquelles elle ne devrait pas avoir droit. Car en archivant les données qui transitent par le presse-papier, il serait possible de récupérer des données sensibles (mot de passe, informations privées, etc).

Problématique

Pouvoir récupérer le contenu de presse-papier et le manipuler avant de l’afficher dans un champ de saisie par exemple du genre TextInput ou TextArea.

Voir notre solution.

Solution

Les composants de saisie en Flex diffusent un événement textInput quand l’utilisateur saisit, supprime ou colle un texte dans le composant visuel.

Pour savoir si la raison qui provoque la diffusion de l’événement textInput est le fait de coller un texte dans le composant de saisie, il est nécessaire de capter les 2 événements keyDown et keyUp pour vérifier si les touches Ctrl et V étaient appuyées ou relâchées.

En résumé, si les touches Ctrl et V etaient appuyées avant de capter l’événement textInput, nous sommes bien dans le cas où l’utilisateur est entrain de coller un texte dans un composant de saisie.

Une fois que nous avons vérifié que nous sommes dans le cas où un utilisateur est en train de coller un texte dans un composant de saisie. Il suffit de capter l’événement change pour manipuler le texte avant de l’afficher.

Ce qui donne en Flex (voir ci-dessous).

Code

	<![CDATA[
		private var isCtrl:Boolean = false;
		private var isPaste:Boolean = false;

		// Vérifier si la touche Ctrl et la touche "V" sont enfoncées
		private function onKeyDown(event:KeyboardEvent):void
		{
			if(event.ctrlKey && event.keyCode == 17)
			{
				isCtrl = true;
			}
		}

		// Vérifier si la touche Ctrl etait relachée
		private function onKeyUp(event:KeyboardEvent):void
		{
			if(event.keyCode == 17)
			{
				isCtrl = false;
			}
		}

		// Si cet événement est dispatché, que les touches "Ctrl + V" sont enfoncées, alors il s'agit d'une action "Coller" (Paste)
		private function onPaste(event:TextEvent):void
		{
			if(isCtrl)
			isPaste = true;
		} 

		// Manipuler le texte affiché si c'est une action "Coller"
		private function onChange():void
		{
			if(isPaste)
			{
				isPaste = false;
				txtInput.text = "This is a formatted text: "+ txtInput.text;
			}
		}
	]]>

Catégories: Notes Techniques
Mots-clefs :AS3, Flash Player, Flex
  • nico

    Bonjour,

    Avez vous une solution pour capter l’évènement d’un textInput lorsque la valeur de celui-ci est automatiquement initialisé, genre par une popup ??

    Merci !

    Nicolas

  • http://www.kapit.fr Fadi Mansour

    Bonjour Nicolas,

    Je ne pense pas qu’il y ait un événement qui soit déclenché lorsque l’on change la valeur de TextInput programmatiquement comme par exemple : txtInput.txt = « Hello World ».

    Ce que vous pouvez faire, c’est déclencher un événement customisé pour envoyer une notification.
    Par exemple : dispatchEvent(new Event(‘Text_Input_Changed’)).
    Et capter cet événement au bon endroit.

    Fadi

  • pepo

    l’évènement paste ne fonctionne pas :/

Article précédent
Article suivant
 
Haut de page

Copyright © 2009 Kap IT - Blog RIA - Kap Lab

Motorisé par Wordpress - Thème avec YAML par Kap IT