IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Flex- dessiner un rectangle


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut Flex- dessiner un rectangle
    Bonjour,
    j'ai honte de poster cela mais je n'arrive pas a dessiner un rectangle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
        layout="absolute" initialize="initNew()" 
        width="320" height="370">
     
    <mx:Script>
    	<![CDATA[
    	import flash.display.Graphics;
    		private function initNew () : void 
    		{
    var rectangleUni:Shape = new Shape();// Instance de l'objet d'affichage
    rectangleUni.graphics.beginFill(0x86B1FB);// Le rectangle sera rempli de bleu
    rectangleUni.graphics.drawRect(0, 0, 100, 30);// dessin du rectangle avec la méthode drawRect(x, y, width, height)
    // Positionnement et affichage du rectangle dans la séquence
    rectangleUni.x = rectangleUni.y = 50;
    addChild(rectangleUni);
    }
     
    	]]>
    </mx:Script>
     
    </mx:Application>
    Il me marque une erreur a la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TypeError: Error #1034: Echec de la contrainte de type*: conversion de flash.display::Shape@3c0d4c1 en mx.core.IUIComponent impossible.
     
    merci de votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    addChild()
    Note: While the child argument to the method is specified as of type DisplayObject, the argument must implement the IUIComponent interface to be added as a child of a container. All Flex components implement this interface.
    Shape n'implémente pas IUIComponent, ce n'est pas un composant Flex.

    Sinon tu peux simplement utiliser la propriété graphics de ton container (Application ici).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    ok
    en faites, je vous explique mon problème :

    J'ai un éditeur de texte (RichTextEditor) qui permet à l'utilisateur de rentrer son texte. Une fois validé, le texte écrit est envoyé dans ue texterea créé a cette effet.
    J'ai mis un événement FOCUS IN sur la textearea. Je voudrais donc que lorsque l'utilisateur a sélectionné la textarea, qu'un rectangle de sélection apparaisse sur le texte pour montrer à l'utilisateur que la textarea a bien été sélectionné.
    Rectangle qui disparaitrait une fois le focus enlevé.

    Le problème c'est que je ne sais pas comment faire pour ajouter ce rectangle pour montrer que mon texte a été sélectionné!!

    Quelqu'un a une idée?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Désolé mais j'ai rien compris !!!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    En faite, j'ai une textarea. Dedans j'y insère du texte d'une manière particulière mais ma textarea n'est pas éditable.
    Je voudrais qu'il apparaise un rectangle autour de ma textarea quand l'utilisateur clic sur la textarea

    ???

  6. #6
    Membre éclairé Avatar de ToniConti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2009
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2009
    Messages : 245
    Par défaut
    Salut,

    Voici ce que tu cherches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    taTextArea.drawFocus(true);
    Salut

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Donc en réalité tu râles contre le fait qu'Adobe ait décidé de ne pas afficher le rectangle du focus lorsqu'un TextArea n'est pas éditable.
    A noter que si on utilise la tabulation pour se positionner sur un TextArea non éditable le rectangle de focus est toujours affiché, par contre lorsque la sélection est faite avec la souris il ne l'est pas !

    ça m'agace aussi, rassure toi...

    La solution est de créer une classe dérivée de TextArea et de modifier juste le test sur editable dans focusInHandler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    package myPackage
    {
    	import mx.controls.TextArea;
    	import flash.events.FocusEvent;
    	import mx.managers.IFocusManager;
     
    	public class MyTextArea extends TextArea
    	{
    		public function MyTextArea()
    		{
    			super();
    			editable = false ;
    		}
     
    	    override protected function focusInHandler(event:FocusEvent):void
    	    {
    	        var fm:IFocusManager = focusManager;
     
    	        if (fm)  // suppression du test sur editable
    	            fm.showFocusIndicator = true;
     
    	        super.focusInHandler(event);
    	    }
     
    	}
    }

Discussions similaires

  1. [C#][Direct3D] Comment dessiner un rectangle
    Par FraktaL dans le forum DirectX
    Réponses: 3
    Dernier message: 26/10/2005, 00h29
  2. Réponses: 14
    Dernier message: 13/10/2005, 15h00
  3. Dessiner un rectangle sur une forme
    Par Neo41 dans le forum MFC
    Réponses: 6
    Dernier message: 13/08/2005, 01h08
  4. [VB.NET] Dessiner plusieurs rectangles.
    Par Emcy dans le forum Windows Forms
    Réponses: 9
    Dernier message: 23/03/2005, 16h57
  5. Dessiner un rectangle avec bords et texte ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo