Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4834 connectés 

 


Dernière réponse
Sujet : [MFC] CTreeCtrl -> SetImageList
antsite merci

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antsite merci
Tetragrammaton IHVH C'est marrant, j'ai pas du tout utilisé ça pour le CTreeCtrl.
J'ai retrouvé un bout de code de test que j'avais laissé tomber. Faut dire que les utilisateurs sont peu habitués à la navigation dans les arborescences et je suis passé à des tableaux dans des onglets.
C'est du prototypage donc c'est codé à la bite et au couteau.
 

Code :
  1. // Pour creer la liste des icones :
  2. UINT idBitmapJeu[] = {IDB_LISTE, IDB_MAISON, IDB_PJ, NB_BITMAP};
  3. iconList.Create( 16,16, ILC_COLOR8, NB_BITMAP,1);
  4. iconPtr = new CBitmap*[NB_BITMAP];
  5. for(int k=0; k<NB_BITMAP; k++) {
  6.  iconPtr[k] = new CBitmap;
  7.  iconPtr[k]->LoadBitmap(idBitmapJeu[k]);
  8.  iconList.Add(iconPtr[k],0x0FFFFFF);
  9. }
  10. m_DBTree.SetImageList(&iconList,TVSIL_NORMAL);
  11. // fin du constructeur
  12. // créer l'arbre :
  13. HTREEITEM listePJ = m_DBTree.InsertItem("PJ",0,0);
  14. HTREEITEM pjItem;                               
  15. for(int k=0; k<docJeu.getMaxPJ(); k++) {
  16.     CPJ &aPJ = docJeu.getPJ(k);
  17.     pjItem = m_DBTree.InsertItem(aPJ.getNom(),1,1,listePJ); 
  18. // pjItem servira a attacher les objets du PJ
  19. }


 
Voila m_DBTree est de type CTreeCtrl et InsertItem permet de mettre une chaine, les 2 icones (ouverte/fermée, là j'utilise la même pour les 2) attaché au HTREEITEM fourni en 4ième paramètre.

antsite ça vient peut être de la, sinon mon code te parait correct ?
Tetragrammaton IHVH J'ai dejà utilisé une fois le CTreeCtrl avec les icones mais c'était des icones 16x16. Je ne savais pas qu'on pouvait mettre des icones plus grandes.
antsite Bonjour,
Je souhaite mettre une icone à coté de chaque élément de mon controle CTreeCtrl. Seulement ce code ne marche pas :
 
CImageList liste;
int i;
TVINSERTSTRUCT id;
 
id.hParent = TVI_ROOT;
id.hInsertAfter = TVI_ROOT;
id.item.mask = TVIF_TEXT;
 
liste.Create(16,16,ILC_COLOR4,0,1);
i = liste.Add(AfxGetApp()->LoadIcon(IDI_CLOSE)); //IDI_CLOSE = Icone 16 couleurs 32x32
 
m_tree.SetImageList(&liste,TVSIL_NORMAL);
 
id.item.mask = TVIF_TEXT|TVIF_IMAGE;
id.item.iImage = i;
 
id.item.pszText = "DuTexte";
m_tree.InsertItem(&id);
 
Ca compile mais ça m'affiche aucune icone (carré vide à coté du texte)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)