[Visual C++] CTreeCtrl icones <--> state

CTreeCtrl icones <--> state [Visual C++] - C++ - Programmation

Marsh Posté le 05-01-2005 à 18:29:17    

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 ?  :)

Reply

Marsh Posté le 05-01-2005 à 18:29:17   

Reply

Marsh Posté le 05-01-2005 à 19:03:05    

Mon code qui ne marche pas (à moitié):
 
 SHFILEINFO shfi;  
 
 SHGetFileInfo(="C:\\autoexec.bat",0,&shfi,sizeof(SHFILEINFO),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
 
 tis.item.iImage=shfi.iIcon;  
 tis.item.iSelectedImage=shfi.iIcon;
 m_xt.InsertItem(&tis);
 
Je comprends pas: la ligne suivante
  tis.item.iSelectedImage=shfi.iIcon;
ne sert absolument à rien...

Reply

Marsh Posté le 05-01-2005 à 19:17:07    

tis.item.iSelectedImage=shfi.iIcon;
tu dis qu'il faut utiliser l'icone numéro X. Cette icone est bien dans la liste que tu as fournis via SetImageList ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 05-01-2005 à 19:28:04    

oui, d'ailleurs il m'affiche bien l'icone quand elle n'est pas sélectionnée (tis.item.iImage=shfi.iIcon;)
 
Dans mon code tis.item.iImage=tis.item.iSelectedImage donc si l'un s'affiche bien l'autre devrait s'afficher pareil, non ?

Reply

Marsh Posté le 05-01-2005 à 21:22:48    

Resolu : Il faut penser à rajouter le flag TVIF_SELECTEDIMAGE dans le champs mask.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed