Checkboxes dans treeview

Signaler
Messages postés
15
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
4 avril 2005
-
Messages postés
875
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Bonjour,

j'ai parcouru le site de long en large, j'ai fouillé dans toutes les sources (ou presque ;-) ), j'ai parcouru les forums, mais je n'ai pas trouvé la solution à mon problème.

SANS MFC, j'ai créé un Treeview avec des CheckBoxes embarquées, comment puis-je savoir quelles sont les boxes checkées dans l'ensemble de mon Treeview ?

En fait mon treeview affiche le contenu des disques, je peux sélectionner un disque et afficher l'ensemble de ses répertoires et fichiers.
J'aimerai pouvoir sélectionner, à l'aide des checkboxes, certains répertoires et certains fichiers dans le but de les copier dans un répertoire cible.

Je bloque complètement :-(

Quelqu'un aurait-il la solution ?

Merci,
Clo

4 réponses

Messages postés
15
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
4 avril 2005

PS : je travaille avec Visual C++

Clo
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
Dans la page msdn du style TVS_CHECKBOXES, il est écrit:
"State image 1 is the unchecked box and state image 2 is the checked box. Setting the state image to zero removes the check box altogether. "
Donc je pense qu'en changeant le valeur du membre iSelectedImage de la structure TVITEM tu peux controler le status du checkbox.
Messages postés
15
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
4 avril 2005

Bonjour,

certes, j'avais bien vu cela. Mais ça fait à pile une semaine que je me suis mise à visual c++ et j'avoue que pour l'instant le déchiffrage des pages msdn n'est pas des plus aisé.

Je commence à comprendre le principe de fonctionnement desdites pages et la mise en application de leur contenu, mais il faut reconnaître qu'elles ne sont vraiment pas destinées à des débutants.

Toujours est-il que, pour mon projet, j'ai modifié quelque peu le principe de sélection pour ne pas avoir à utiliser ces checkboxes embarquées dans le treeview. Je reviendrai dessus plus tard.

Merci tout de même pour ton aide.

Clo
Messages postés
875
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
22 juin 2012

J'ai posé cette question y'a 3jours, on m'a enfin répondu ce matin :

http://www.cppfrance.com/forum.v2.aspx?ID=470378

HTREEITEM hParent = TreeView_GetSelection(GetDlgItem(Dlg, IDC_TREE1));
TVITEM tvItem;
// Prepare to receive the desired information.
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = hParent;
tvItem.stateMask = TVIS_STATEIMAGEMASK;


// Request the information.
TreeView_GetItem(GetDlgItem(Dlg,IDC_TREE1), &tvItem);


// Return zero if it's not checked, or nonzero otherwise.
//(BOOL)(tvItem.state >> 12);


char test[256];
sprintf(test,"%i",(BOOL)(tvItem.state >> 12));
MessageBox(0,test,"Erreur",MB_ICONERROR);

voilou voilou

Have Fun ...