Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

File manager listview icon help

$
0
0

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

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>