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 :

CTreeCtrl et item à cocher ...


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Par défaut CTreeCtrl et item à cocher ...
    J'aimerais sur certains items de mon CTreeCtrl, rajouter une case à cocher devant l'item afin d'activer ou de désactiver l'item.
    Comment associer une "check box" à juste un item?

    De plus, j'aimerais que par défaut les "certains items" soit tous cochés, et que lorsqu'on décoche, l'item (enfiN la chaîne de caractère) devient grisé, comme s'il n'était pas actif, et que lorsqu'on coche, l'item redevient normal.


    Comment faire tout cela?

  2. #2
    tut
    tut est déconnecté
    Membre éclairé
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Par défaut
    Je ne suis pas certain que CTreeCtrl permettent de faire ça... sinon il faut l'implémenter soit-même avec l' "item state", associer une liste d'image spécifique, et utiliser par exemple la fonction SetItemData() pour sauvegarder l'état cocher ou pas de l'item.

  3. #3
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Salut, avec les listview c'est possible dans les styles étendus (LVS_EX_CHECKBOXES) mais avec les treeview, je n'ai pas encore tenté de le faire mais regarde un peu les styles étendues du treectrl (peut être un TVS_EX_CHECKBOXES ). Et s'il existe utilise CTreeCtrl::SetExtendedStyle()

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077

  5. #5
    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,
    en ce qui concerne le CTreeCtrl ,j'ai adopté la technique décrite par tut.

  6. #6
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Eureka,

    Après avoir vu les liens de bigboomshakala, je suis allé dans l'MSDN et j'ai découvert qu'on pouvait facilement mettre des casses à cocher dans les items de la treeview sans même touché aux items states...

    De même que la listview dispose du style étendu LVS_EX_CHECKBOXES, avec les méthodes CListCtrl::SetCheck() et CListCtrl::GetCheck().

    La treeview dispose également d'un style étendu similaire TVS_CHECKBOXES avec les méthodes CTreeCtrl::SetCheck() et CTreeCtrl::GetCheck().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DWORD dwStyle = WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER;
      dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_DISABLEDRAGDROP;
      dwStyle |= TVS_CHECKBOXES; 
      ThisTreeCtrl.ModifyStyle(0, dwStyle);
    Je ne vous dis pas les testes du résultat. C'est impécable

  7. #7
    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
    cette fonction est utile si tu fais ce genre de choses :

    gestion de couleurs ou d'etats sur les check box .
    j'utilise la méthode décrite par tut et des bitmaps de mes differents etats.

  8. #8
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Impressionnant, tout chemin même à Rome
    Soit une implémentation standard avec TVS_CHECKBOXES ou alors personnalisé avec des items states et bitmaps associés à chaque état.

    Comment peut-on obtenir un espace sur le net et en particulier sur développez.com pour poster ses images (entre autres celles de mon treeview + TVS_CHECKBOXES ). Car celles que j'ai ne sont belles que pour moi même.

Discussions similaires

  1. Cocher un items dans une liste de type TCheckListBox
    Par Faith's Fall dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/03/2007, 20h48
  2. CTreeCtrl : déplacer un item
    Par shenron666 dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2007, 15h58
  3. MFC / CTreeCtrl / Sélection ITEM
    Par chris_wafer_2001 dans le forum MFC
    Réponses: 5
    Dernier message: 31/10/2006, 11h25
  4. [C#] Comment cocher un item particulier d'une CheckedListBox ?
    Par L`artiste dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/05/2006, 11h16
  5. CTreeCtrl et item en couleur
    Par renaud45 dans le forum MFC
    Réponses: 2
    Dernier message: 21/02/2005, 11h51

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