Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Visual C++] CTreeCtrl icones <--> state [ Archives / Graphique ] (funxav)

mercredi 5 janvier 2005 à 19:37:12 | [Visual C++] CTreeCtrl icones <--> state

funxav

Bonjour,
 
J'ai un pb avec mon arbre. Tout se passe bien quand j'insère les items avec leurs icones : les icones s'affichent correctement.
 
Par contre dès que je sélectionne un item, l'icone est remplacé par un autre (toujours le même). Il semble que ce soit en rapport avec le champs state des items mais je n'ai pas trouvé comment m'en sortir.
 
Quelqu'un a-t-il une suggestion ?  :)


mercredi 5 janvier 2005 à 21:15:06 | Re : [Visual C++] CTreeCtrl icones <--> state

bayeto

Membre Club

J'ai eu le même problème. Il faut initialiser correctement le champ mask de l'item du  TVINSERTSTRUCT. Genre:

HTREEITEM treecontrol::insert_item(const string &title,int i1,int i2,HTREEITEM hParent, HTREEITEM hInsertAfter)
{
 TVINSERTSTRUCT is;

 is.hParent = hParent;
 is.hInsertAfter = hInsertAfter;
 is.itemex.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
 is.itemex.pszText = (LPTSTR) (LPCTSTR) title;
 is.itemex.cchTextMax = title.length();
 is.itemex.iImage = i1;
 is.itemex.iSelectedImage = i2;
 
 return insert_item(&is);
}

Et le tour est joué!


mercredi 5 janvier 2005 à 21:27:20 | Re : [Visual C++] CTreeCtrl icones <--> state

funxav

Merci bien, c'était ça


jeudi 21 avril 2005 à 16:36:47 | Re : [Visual C++] CTreeCtrl icones <--> state

homerde

salut,
je voudrai mettre des bitmap au lieu d icon mais je sais faire ni l un ni l autre quelqu un peut me donne des indication merci!

mercredi 27 avril 2005 à 20:51:29 | Re : [Visual C++] CTreeCtrl icones <--> state

funxav


Tu créé ton CTreeCtrl avec les styles suivants :

DWORD style=WS_BORDER|WS_VISIBLE|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS;

Tu créé un ImageList et tu appele la méthode setImageList de ton CTreeCtrl en lui passant l'@ de l'imageList créée.

Par eemple,

ctree.SetImageList(&imagelist,TVSIL_NORMAL);

Tu inseres les items : Par eemple,

ctree.InsertItem( TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT | TVIF_PARAM,
           obj->getName().c_str(),indIcone,indIcone,0,0,(long)obj,parent,sibling);

La liste imageList te permet de gérer des petites ou grandes icones. Pour ce qui est de bitmap, je pense u'il faut utiliser d'autres composants que CtreeCtrl : Je te conseille d'aller voir sur le site "The Code Project". Il y a des composants intéressants il me semble.

J'espère avoir aidé.

jeudi 28 avril 2005 à 12:02:29 | Re : [Visual C++] CTreeCtrl icones <--> state

homerde

salut,
merci funxav,
j ai regarde sur the code project. j ai pas trouve de composants qui permettent de prendre des bitmaps qui ne sont pas dans les ressources...
 j ai peu etre mal cherche mais...

 


samedi 30 avril 2005 à 13:16:47 | Re : [Visual C++] CTreeCtrl icones <--> state

funxav

Tous ces liens se rapprochent un peu (je pense) de ce que tu souhaites faire. J'avais aussi trouvé sur codeguru une classe dédié à la représentation d'un arbre avec des items complètement customisables, mais je le retrouve pas. Tout le pb est de comprendre ce qui fait et de l'appliquer à ta sauce.
Bonne chance.

http://www.codeguru.com/Cpp/controls/treeview/misc-advanced/article.php/c651/


[ Lien ]

[ Lien ]

[ Lien ]

[ Lien ]

[ Lien ]

[ Lien ]



Cette discussion est classé dans : visual, icones, state, items, ctreectrl


Répondre à ce message

Sujets en rapport avec ce message

[MFC] Utilisation de la classe CTreeCtrl, couleur des lignes [ par karine3884 ] Bonjour, Je programme sous Visual Studio C++ 6.0. J'utilise un CtreeCtrl pour créer un arbre (une arborescence). J'aimerai modifier la couleur des li Disparition icones aprés installation Visual Studio 2005 [ par newbie000007 ] Bonjour,Je viens d'installer visual studio 2005 et la moitié de mes raccoucis sur mon bureau ont disparus, enfin ils sont toujours là mais ils n'ont p Probleme avec windows.h et Visual C++ [ par ndubien ] Salut, J'ai un probleme avec #include et Visual C++, en efft lorsque je met #inlude , Vis A quoi sert une DLL en C++? Comment la faire et l'utiliser dans un programme? (avec Visual C++) [ par ndubien ] Bonjour, Je cherche à savoir trois choses (en C++):   - <font color="#ff0 OpenGL 3D [ par jojomillenium ] Bonjour, J'aimerai créer une application qui me permette de charger une liste de cube (coordonnée et taille) et les placer dans un espace 3D et pouvoi Affichage d'une form sous Visual C++ [ par filipegomes ] Bonjour à tous,Je débute la programmation C++ .NET à l'aide de Visual Studio 2003, j'ai créer deux form Application Windows Forms (form1 et form2), je Visual C++ Toolkit 2003 comment l'installer ? [ par blackloffy ] Bonjour, j'ai télécharger visual c++ à partir de ( http://vecchio56.free.fr/VCToolkitSetup.exe )<?xml:namespace prefi Ouvrir une fenetre par double clic sur un CTreeCtrl [ par milhandril ] A partir d'une fenetre CTreeCtrl je souhaiterais ouvrir une autre fenetre. J'ai deja créé les differentes fenetres que je souhaite pouvoir ouvrir en d resource visual c++ [ par unionx ] Salut voila ma fonction mais ca marche pas :( pourquoi .j'ai deja creer le fichier *.res avec resource builder puis dans mon compilateur Vi encore probleme listview [ par yohan49 ] salut encore les gars !!quelqu'un pourrait me dire comment je peux recuperer les clicks sur les items de ma listview ??j'ai fais un subclassing de ma


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.