Certaine icône merdouille (notamment sur les effets de fondu avec une couleur blanche)
Code : Tout sélectionner
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
IconPath.s = "d:\"
; IconPath.s = "d:\test.txt"
SHGetFileInfo_(IconPath, 0, @InfosFile.SHFILEINFO, SizeOf(SHFILEINFO), #SHGFI_ICON)
Icone = InfosFile\hicon
ImageGadget(1, 10, 10, 32, 32, Icone)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
DestroyIcon_(Icone)
End
mais je n'arrive pas à obtenir quelle est le fichier qui contient l'icône associé au fichier
Code : Tout sélectionner
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
IconPath.s = "d:\"
; IconPath.s = "d:\test.txt"
; J'essaie de récupérer l'icône du fichier
SHGetFileInfo_(IconPath, 0, @InfosFile.SHFILEINFO, SizeOf(SHFILEINFO), #SHGFI_ICONLOCATION)
Debug InfosFile\iIcon
Debug PeekS(@InfosFile\szDisplayName)
; mais ça ne marche pas dans tous les cas
; essayer avec un fichier texte par exemple
; ici, je charge l'icone
; la fonction ne marche qu'avec les *.ico *.exe ou *.dll
ExtractIconEx_(@InfosFile\szDisplayName, InfosFile\iIcon, @Icone, 0, 1)
ImageGadget(1, 10, 10, 32, 32, Icone)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
DestroyIcon_(Icone)
End