cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
14 août 2004 à 00:43
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
15 août 2004 à 14:46
Ca fait plusieurs jours que je cherche et même sur le chat personne ne sait.
Je cherche un code qui permmtte d'ajouter les icones associé au fichier present dans la listview
Des réponses ont deja été donné mais jamais ave le code de remplissage de l'imagelist. Si je le demande c'est que chez moi je recoit l'erreur d'execution "Invalid Object" et il me manque ces renseignements dans MSDN.
Donc ce que je cherche c'est :
Un code me permttant de remplit mes imageslist (indispensable pour toutes vues)
Appliquer ses icones pendant l'ajouts des dis fichier dans la listview et ce pour toutes les vues
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 14 août 2004 à 14:15
Moi j'utilise une fonction que j'ai faite moi meme:
Public Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type
Public Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long
Public Declare Function ImageList_GetIcon Lib "comctl32.dll" (ByVal himl&, ByVal i&, ByVal flags&) As Long
Public Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long) As Long
Private Function PrintIco(StartImage As PictureBox, LstImage As ImageList, Filename As String) As Long 'Ajoute l'icône 16*16 d'un fichier à un contrôle ImageList en gérant la transparence...
Dim hIcon As Long, hBitmap As Long
Dim hIco As Long, Nicon As Long, FileLib As Long, SHFinfo As SHFILEINFO
hIco = SHGetFileInfo(Filename, 0&, SHFinfo, Len(SHFinfo), DJM_SMALLICON)
hIcon = ImageList_GetIcon(hIco, SHFinfo.iIcon, 0)
LstImage.MaskColor = StartImage.BackColor
StartImage.Cls
DrawIcon StartImage.hdc, 0, 0, hIcon
StartImage.Refresh
Call LstImage.ListImages.Add(LstImage.ListImages.Count + 1, , StartImage.Image)
End Function
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 15 août 2004 à 01:49
Merci beaucoup ce code m'a bien aidé mais tu dis qu'il "capture l'icone en 16x16 ... est ce possible de la capturer en 32x32 voire davantage si la taille est dispo (genre 48x48) ? Car en 16x16 la qualité est pas top sur certaines icones ...
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 15 août 2004 à 14:28
Merci encore une fois !
Mais tu va peut etre me me trouver là mais quand j'utilise ton code dans mon programme (la premiere fois je l'avais utilisé dans un projet vierge) les icones apparaissent pas comme si il ne capturait que la transparence en fait ... d'ou cela peut t il provenir ?
PS tout code d'extraction (code declaration const etc ont été retiré avant de mettre le tien) donc c assez bizarre :|
[PaTaTe]
Vous n’avez pas trouvé la réponse que vous recherchez ?