cs_Tyrex
Messages postés
5
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
11 juin 2003
9 mai 2003 à 05:33
Merci de ta réponse max12, mais quelle OCX ?
En fait mon problème est de coder le chargement des icones de fichier dans une ListView. (Pb maintes fois résolu par d'autres). Le pb. est de trouver un code ultra rapide, car quand il faut afficher une liste de 1000 fichiers, ça rame...
Il existe 2 techniques pour récupérer les icones de fichiers :
Par le registre :
SHGetFileInfo ByVal Fichier, 0&, ShInfo, Len(ShInfo), _
SHGFI_ICON Or SHGFI_SMALLICON Or Attribut _
ImageList_Draw hIcon, ShInfo.iIcon, Picture1.hdc, 0, 0, _
&H808000
DestroyIcon FileInfo.hIcon
Set imgx = ImageList1.ListImages.Add(, , Picture1.Image)
En cherchant l'icone directement dans le fichier :
ExtractIconEx Fichier, Num_Icone, 0&, hIcon, 1
DrawIconEx Picture1.hdc, 0, 0, hIcon, 0, 0, 0, 0, &H3
DestroyIcon hIcon
Set imgx = ImageList1.ListImages.Add(, , Picture1.Image)
Mais je trouve ces 2 codes trop lents. Je me suis donc concentré sur un code qui chargerait directement l'icone dans une ImageList sans passer par une Picture (notamment avec ImageList_AddIcon). Mais cette fonction plante dans mon code. Je me suis également posé la question s'il n'éxistait pas une ImageList système qui contiendrait toutes les icones de fichier. Si ç'est le cas, je bénierait la personne qui m'apportera la réponse.