Page 1 sur 1
Utiliser icone des dll
Publié : dim. 13/mai/2007 17:32
par lepiaf31
Salut a tous,
je voudrais savoir comment utiliser une icone de shell32.dll, celle avec beaucoup d'icones de windows
merci d'avance
Publié : dim. 13/mai/2007 18:22
par minirop
faut passer pes les fonctions de l'API win32 certainement (c'est même sûr)
peut être avec une fonction du genre "LoadImage"
http://msdn2.microsoft.com/en-us/library/ms648045.aspx
http://msdn2.microsoft.com/en-us/library/aa920739.aspx
Publié : dim. 13/mai/2007 21:06
par Droopy
Code : Tout sélectionner
; Idea from Rikuk
; File specifies the File where Icon is extracted
; Icon = 0 To ? --> Return handle of Image
; Icon = -1 --> Return the count of Icon
Procedure IconExtract(File.s,Icon.l)
ProcedureReturn ExtractIcon_(0,File,Icon)
EndProcedure
;/ Test
#file="C:\WINDOWS\explorer.exe"
Count=IconExtract(#file,-1)
OpenWindow(0,0,0,130,70,Str(Count)+" Icons",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ButtonImageGadget(0,10,10,48,48,IconExtract(#file,pointer))
TextGadget(1,80,30,40,20,"n° 1")
Repeat
event=WaitWindowEvent()
If event= #PB_Event_Gadget And EventGadget()=0 And EventType()=#PB_EventType_LeftClick
pointer+1
If pointer=Count : pointer=0 : EndIf
SetGadgetState(0,IconExtract(#file,pointer))
SetGadgetText(1,"n° "+Str(pointer+1))
EndIf
Until event=#PB_Event_CloseWindow
Publié : lun. 14/mai/2007 6:07
par venom
bonjour,
petite modification

avec openfilerequester()
Code : Tout sélectionner
; Idea from Rikuk
; File specifies the File where Icon is extracted
; Icon = 0 To ? --> Return handle of Image
; Icon = -1 --> Return the count of Icon
Procedure IconExtract(File.s,Icon.l)
ProcedureReturn ExtractIcon_(0,File,Icon)
EndProcedure
fichier$ = OpenFileRequester("ouvrir fichier icone","","Fichier|*.*",0)
;/ Test
Count=IconExtract(fichier$,-1)
OpenWindow(0,0,0,130,80,Str(Count)+" Icons",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ButtonImageGadget(0,10,10,48,48,IconExtract(fichier$,pointer))
TextGadget(1,80,30,40,20,"n° 1")
TextGadget(2,10,60,130,20,GetFilePart(fichier$))
Repeat
event=WaitWindowEvent()
If event= #PB_Event_Gadget And EventGadget()=0 And EventType()=#PB_EventType_LeftClick
pointer+1
If pointer=Count : pointer=0 : EndIf
SetGadgetState(0,IconExtract(fichier$,pointer))
SetGadgetText(1,"n° "+Str(pointer+1))
EndIf
Until event=#PB_Event_CloseWindow
@++