so i was writing a file manager window but i don't know how to put icons on the files & folders
AutoIt
; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ; #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiButton.au3> #include <array.au3> #include <file.au3> #include <GuiListView.au3> Global $currentdir1,$currentdir2 _fm_get_stuff1() $Xplore_file_manager = GUICreate("Xplore file manager",400,565,-1,-1,-1,-1) GUISetBkColor(0xFFFFFF,$Xplore_file_manager) GUICtrlSetBkColor(-1,"0xBFBFFF") $Filelist1a = GUICtrlCreatelistview("Name |Size",10,100,380,420,0,$LVS_EX_GRIDLINES + 0x00000020) $filelist1 = GUICtrlGetHandle($Filelist1a) _arraytolist(_FM_Get_stuff1(),$filelist1a) $path = GUICtrlCreateInput("My Computer",110,70,280,30,-1,512) GUICtrlSetFont(-1,12,400,0,"MS Sans Serif") $b = GUICtrlCreateButton("Back",10,70,100,30,-1,-1) GUISetState(@SW_SHOW,$Xplore_file_manager) GUIRegisterMsg($WM_NOTIFY,"_Update_on_click") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $b $ix = StringSplit($currentdir1,'\',2) $iu = UBound($ix) - 2 $ilen = StringLen($ix[$iu] & '\') $iprev = StringTrimRight($currentdir1,$ilen) _GUICtrlListView_DeleteAllItems($filelist1a) _arraytolist(_fm_get_stuff1($iprev),$filelist1a) If $iprev = '' Then GUICtrlSetData($path,'My Computer') Else GUICtrlSetData($path,$iprev) EndIf EndSwitch WEnd Func _FM_Get_stuff1($dir = '') If $dir = '' Then $drv = DriveGetDrive('all') Global $dat[UBound($drv)] For $i = 1 To UBound($drv) - 1 $drv[$i] = StringUpper($drv[$i]) $dat[$i] = FileGetSize($drv[$i]) Next $currentdir1 = '' Return $drv Else $currentdir1 = $dir $iarray = _FileListToArray($dir) If @error = 4 Then Return 0 Global $dat[UBound($iarray)] For $i = 1 to UBound($iarray) - 1 $dat[$i] = FileGetSize($dir & $iarray[$i]) Next Return $iarray EndIf EndFunc Func _arraytolist($array,$list) $iubound = UBound($array) - 1 For $i = 1 To $iUBound GUICtrlCreateListViewItem($array[$i] & '|' & $dat[$i] ,$list) Next EndFunc Func _Update_on_click($hWnd, $iMsg, $iwParam, $ilParam) #forceref $hWnd, $iMsg, $iwParam Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $Filelist1 Switch $iCode Case $NM_DBLCLK $str = StringSplit(GUICtrlRead(GUICtrlRead($Filelist1a)),"|") If stringinstr(FileGetAttrib($currentdir1 & $str[1]),"d") Then _GUICtrlListView_DeleteAllItems($Filelist1a) $currentdir1 &= $str[1] _arraytolist(_fm_get_stuff1($currentdir1 & '\'),$Filelist1a) GUICtrlSetData($path,$currentdir1) ElseIf FileExists($currentdir1 & $str[1]) Then ShellExecute($currentdir1 & $str[1]) ElseIf StringRegExp($CurrentDir1 & $str[1], "[A-z]:") Then $currentdir1 &= $str[1] _GUICtrlListView_DeleteAllItems($Filelist1a) _arraytolist(_fm_get_stuff1(),$filelist1a) GUICtrlSetData($path,'My Computer') EndIf EndSwitch EndSwitch EndFunc Func _isdrive($drive) $id = DriveGetDrive('all') For $i = 0 To UBound($id) - 1 If $drive = $id[$i] Then MsgBox(0,'',$id[$i]) Return 1 EndIf Next Return 0 EndFunc