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

VB 6 et antérieur Discussion :

[VB6] ListView & couleur


Sujet :

VB 6 et antérieur

  1. #1
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut [VB6] ListView & couleur
    Bonjour,

    J'ai une ListView et je voudrais changer la couleur de police de l'item selectionné (uniquement cet item).
    Il y a bien la propriété Forecolor de la ListView, mais ça me change la couleur de police de tous les items.
    Quel est la propriété pour cela ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    un premier élément de réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub List1_ItemClick(ByVal Item As MSComctlLib.listitem)
        Dim i As Integer
        Item.ForeColor = vbRed
        For i = 1 To Item.ListSubItems.Count
            Item.ListSubItems(i).ForeColor = vbRed
        Next
    End Sub

  3. #3
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Merci, mais je n'ai pas de SubItem (avec la vue 'Icon').
    Dois-je en rajouter ? Est-ce necessaire ?

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    tu as combien de colonnes dans ta listview ?

  5. #5
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Une seule (la colonne Text).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bonsoir,
    Essaye ce code, il colore 4 items dont 2 en gras de la ListView.
    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
     
    Private Sub Form_Load()
    Dim Litem As ListItem
     
    ' Passer le ListView en mode liste
    ListView1.View = lvwList
     
    ' Mettre les noms dans le ListView
    Set Litem = ListView1.ListItems.Add(, , "Adam")
    Set Litem = ListView1.ListItems.Add(, , "Bernard")
    Set Litem = ListView1.ListItems.Add(, , "Frédéric")
    Set Litem = ListView1.ListItems.Add(, , "Fabrice")
    Set Litem = ListView1.ListItems.Add(, , "Christophe")
    Set Litem = ListView1.ListItems.Add(, , "David")
    Set Litem = ListView1.ListItems.Add(, , "Juliette")
    Set Litem = ListView1.ListItems.Add(, , "Emilie")
     
    ' Mettre en gras la deuxième et la sixième donnée par exemple
    ListView1.ListItems.Item(1).ForeColor = vbYellow
    ListView1.ListItems.Item(2).ForeColor = vbBlue
    ListView1.ListItems.Item(2).Bold = True
    ListView1.ListItems.Item(3).ForeColor = vbRed
    ListView1.ListItems.Item(6).ForeColor = vbGreen
    ListView1.ListItems.Item(6).Bold = True
    ListView1.ListItems.Item(7).ForeColor = vbBlack
    End Sub
    jpleroisse

  7. #7
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    J'comprends pas! La propriété Forecolor ne passe pas. C'est normal ?
    Il faut rajouter des composants ?



  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bonjour,
    As-tu essayés le code que je t'ai donné ??
    L'as-tu bien regarder (analysé) ??, il de te donne la réponse et fonctionne très bien !

    jpleroisse

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    On ne peut faire cela avec VB seul à ma connaissance (avec VB5 du moins)
    Il faudrait d'abord établir ListSubItem puis appliquer la méthode de ThierryAim
    Chez moi, Forecolor s'applique à l'ensemble, pas à un item d'une listview séparément.

  10. #10
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Citation Envoyé par jmfmarques
    Chez moi, Forecolor s'applique à l'ensemble, pas à un item d'une listview séparément.
    C'est pareil pour moi.

    Bonjour,
    As-tu essayés le code que je t'ai donné ??
    L'as-tu bien regarder (analysé) ??, il de te donne la réponse et fonctionne très bien !
    Oui oui, j'ai bien regardé!
    Erreur de compilation... Méthode ou membre de données introuvable (surlignage de Forecolor)

  11. #11
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Sayé! Le code de leroissejp fonctionne.

    Il y a plusieurs Microsoft Windows Common Controls.
    Et donc, ça ne fonctionnait pas avec le 5.0 (SP2).
    Par contre, en choisissant le 6.0 (SP4), c'est bon!

    Merci tous!

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je n'ai pas VB6, comme toi, et ne peux donc essayer, mais toi oui.
    Si, dans VB6, ListSubItem est intrinséquement établi, le code de Thierry AIM devrait à mon avis "marcher". L'as-tu essayé ?
    Un lien qui conforte largement la syntaxe de Thierry AIM :
    http://www.vbforums.com/showthread.php?t=231157
    Croisés avec le message de Linaa

  13. #13
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Linaa >> mets donc à jour ton VB6
    http://vb.developpez.com/outils/
    première ligne

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je viens d'y parvenir malgré ma vieille version :
    Le code de Thierry AIM est plus efficace

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

Discussions similaires

  1. [VB6] listView et image
    Par pier* dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/04/2006, 16h34
  2. [VB6] Probléme de couleurs de bouttons !!
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/04/2006, 11h39
  3. [VB6][ListView] Tri sur chaque colonne
    Par frlap dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/05/2004, 11h20
  4. [VB6]Changer la couleur d'une ligne d'un ListView
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2003, 17h02

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