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

MFC Discussion :

[MFC] Changer la couleur d'une seule ligne d'un ListCtrl


Sujet :

MFC

  1. #1
    Membre éclairé
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Par défaut [MFC] Changer la couleur d'une seule ligne d'un ListCtrl
    Bonjour,

    J'ai regarde dans la FAQ et en faisant une recherche. Mais ce n'est pas exactement ce que je recherche. Disons plutot que l'on propose une solution, mais je ne comprends pas pourquoi la mienne ne fonctionne pas. Voici ce que je fais dans le OnPaint() de ma dialogbox qui comprends mon ListCtrl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      RECT Rect;
      CBrush brush(RGB(255,0,0));
      m_List.GetItemRect(1, &Rect, LVIR_BOUNDS);
      m_List.GetDC()->FillRect(&Rect, &brush);
    Pourquoi est-ce que lorsque je fais cela la ligne d'index 1 n'est pas coloriee en rouge ?

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    la seule technique qui fonctionnerait pour moi dans le OnPaint.
    serait de creer un bitmap en memoire en utilisant un dccompatible .
    puis de laisser la listctrl se dessiner dans le bitmap.
    d'appliquer les modifications .
    et de projeter le bitmap.
    c'est la technique que j'avais exposée pour le TreeCtrl.
    sinon il faut utiliser la technique decrite dans ce post dans le post it faq:
    http://www.developpez.net/forums/vie...429166#2429166


  3. #3
    Membre éclairé
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Par défaut
    Cela ne me dit pas vraiment pourquoi ce que je fais ne fonctionne pas, mais bon tant pis. Je vais donc bien sagement faire comme ce qui est decrit dans la FAQ

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    ça ne fonctionne pas parce que ton dessin doit etre effacé par le paint du controle ,c'est un probleme de timing entre le paint des controles et la fenetre, cette methode est trop aleatoire ...


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

Discussions similaires

  1. Changer la couleur d'une seule cellule d'une table
    Par kinouseb dans le forum WinDev
    Réponses: 1
    Dernier message: 02/07/2007, 08h47
  2. Changer la couleur d'une seule cellule
    Par omgirl dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/02/2007, 10h24
  3. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24
  4. Réponses: 8
    Dernier message: 14/05/2004, 11h18
  5. [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