Bonjour,
Pour une fois, je ne poste pas un programme mais une toute petite source qui permet de bien comprendre le fonctionnement d'extration d'icones associés aux fichiers, et d'ajout de ces fichiers avec leurs icones dans un treeview.
On utilise le prog en ajoutant un dossier que l'on sélectionne dans une liste de dossier, et on peut le dossier et ses fichiers, ou on peut aussi y inclure ses sous-dossiers.
Il y a aussi possibilité d'afficher dans un picturebox l'icone contenue dans un noeud du treeview par simple clic sur celui-ci.
Donc c'est une source bien modeste mais qui m'a posé énormément de soucis au départ...
D'ailleurs je tiens à remercier Renfield pour avoir pris le temps de m'expliquer et de me guider pour arriver à faire cette source.
Conclusion :
Je fournis mes sources uniquement pour rendre service et non pas pour montrer ce que je sais faire.
Donc ceux qui trouve ce prog inutile, ce n'est pas la peine de venir le consulter, et encore moins de laisser des posts qui servent à rien ;) merci.
En espérant toutefois qu'il vous sera utile....
toutefois, je ne pense pas que cela vienne d'une image effectivement non valide, mais plutot d'un dépassement de capacité dans l'imagelist.
Donc si vous voulez m'aider, essayez d'ajouter le dossier C:\ et si vous avez une idée pour corriger l'erreur qui va s'afficher sur votre écran au bout d'un moment, faites moi signe svp !
Merci !!!!
merci beaucoup pour tes conseils, surtout pour la vitesse d'exécution. D'ailleurs j'ai fait cette source pour une appli future. Et j'ai à nouveau ce prob, avec plantage du prog lorsque ça prends trop longtemps.
Concernant le DoEvents, je l'ai mis maintenant, mais je ne met pas encore la source à jour pour le moment, mais sinon, j'ai bricolé ça vite fait pour aider les gens comme moi qui galèrent ou vont galérer avec l'histoire des icones.
Donc ben j'attends ton source avec impatience !! ;)
au lieu de parcourir tout l'imagelist pour savoir si l'icone existe, tu devrais (a mon humble avis) faire un truc du style
On Error Resume Next
N = ImgLst.ListImages(Clef).Index
If Err.Number <> 0 Then
Err.Clear
ImgLst.ListImages.Add , Clef,image
end if
on error goto 0
Pour gagner un maximum de temps (je suis passer de 45 sec a 3 sec)
supprime la picturebox et gere tout en memoire directement.
petit bug aussi. le 1er exe que ton prog trouve a une icone a lui (normal), du coup toutes les icones de type exe sont celle du 1er exe. idem pour les fichier ico, etc :(
Vu que j'ai deja fait un code comparable pour une appli, je peux peut etre te passer le bout de code que j'ai fait correspondant (malheureusement pas parfait). mais ca te permettra de comparer.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.