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

Delphi Discussion :

Récupérer la couleur d'un item de ListBox


Sujet :

Delphi

  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut Récupérer la couleur d'un item de ListBox
    Bonjour

    J'ai mis les items d'une ListBox dans des couleurs différents via l'événement OnDrawItem.
    Quelle est l'instruction qui permet de récupérer la valeur de couleur au clic sur un item pour l'appliquer sur un composant Tedit de la même fiche : Edit1.Color := ListBox1.Items[i]????


    Merci

  2. #2
    Membre habitué Avatar de maamar1979
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 134
    Points
    134
    Par défaut
    tu peux stoker le couple {Couleur, Indexe de l'item} dans une liste que tu consulter à chaque click pour determiner la couleur à utiliser pour ton edit.

    juste un avis .
    On fait tous les X choses nécessaires pour avoir comme résultats un Y, finalement c'est Z qu'on obtiens : c'est le destin.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Tout dépend du comment tu attribues la couleur à chaque Item.
    Du genre que si dans ton OndrawItem tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Const
    My_Colors  : Array[0..2] Of TColor = (CLred, ClBlue, ClWhite);
    ....
    Listbox.Canvas.Brush.Color := My_Color[Index mod 3];
    ....
    Tu peux attribuer ta couleur à ton edit comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Edit.Color := My_Color[ListBox.ItemIndex mod 3];
    En gros, tu dois te baser sur la façon que tu utilises dans le Ondraw de ton ListBox

    A+

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Si lorsqu'on trace l'item Idx de la listbox, on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Listbox.Canvas.Brush.Color := My_Color ;
    Listbox.items.objects[Idx]:=pointer(My_Color) ;
    On récupére la couleur ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     My_color:=Tcolor(ListBox1.Items.objects[ListBox1.Items.itemselected]);
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/11/2009, 23h43
  2. Récupérer la couleur d'un item d'une listbox
    Par Michelk12 dans le forum C#
    Réponses: 1
    Dernier message: 07/04/2009, 13h24
  3. Réponses: 0
    Dernier message: 24/04/2008, 22h53
  4. Comment changer la couleur d'un item d'une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 19/05/2006, 16h52

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