Hello.

Je tente de placer dans une TTreeView une liste de fichiers avec l'icone correspondante (une icone par TTreeNode).

J'extrait l'icone par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    HICON N;
   N=ExtractAssociatedIcon(HInstance,buffer,&IconIndex);
N étant donc un handle d'icone. Jusque là, ça marche.

Ensuite, c'est un peu difficile, on ne sait pas injecter directement l'icone dans le TTreeNode (ou alors, j'ai rien compris)

J'exploite alors une TImageList. Je place les images dedans et je le récupère par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    TNode->ImageIndex= ...
   TNode->SelectedIndex= ...

Mais là où ça coince, c'est que pour ajouter une icone dans une TImageList, on exploite

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageList->AddIcon(Icon); //avec Icon qui est de type TIcon.
Si on essaie de placer le handle obtenu par ExtractAssociatedIcon dans le TIcon avant de l'employer avec AddIcon, soit ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 TIcon *Icon;
Icon =new TIcon;
Icon->Handle=ExtractAssociatedIcon(HInstance,FName,&IconIndex);
ça foire...

Comment procéder?
Merci d'avance.