Простейшее окно с ограничениями

Аватара пользователя
kaster

Re: Простейшее окно с ограничениями

Сообщение kaster »

Код:

Код: Выделить всё

#include <WindowsConstants.au3>
#include <GUITreeView.au3>
#include <File.au3>
   $hGUI = GUICreate("Test", 400, 500)
   $hTreeView = GUICtrlCreateTreeView(6, 6, 300, 450, -1, $WS_EX_STATICEDGE+$WS_EX_CLIENTEDGE)
   _GUICtrlTreeView_SetBkColor($hTreeView , 0xDBDBDB )
   $idDiscItem=GUICtrlCreateTreeViewItem("D:",$hTreeView)
   _GUICtrlTreeView_SetIcon($hTreeView,$idDiscItem,"shell32.dll",7)
   $Exit_Button = GUICtrlCreateButton("Exit", 330, 470, 60, 20)
GUISetState()
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case -3, $Exit_Button
         Exit
      Case Else
         If $nMsg <= 0 Then ContinueLoop
         $iItem_CtrlID = GUICtrlRead($hTreeView)
         $sFullName=StringReplace(_GUICtrlTreeView_GetTree($hTreeView, $iItem_CtrlID) ,'|','\')
         UpDateTV($hTreeView,$iItem_CtrlID)
         If StringInStr ( FileGetAttrib ($sFullName ) , "D")  Then ContinueLoop
         ShellExecute($sFullName)
   EndSwitch
WEnd
Func UpDateTV($hTV,$idItem)
   If _GUICtrlTreeView_GetChildren($hTV,$idItem) =False  Then 
         $aFolderList=_FileListToArray( $sFullName,'*',2)
         For $i =1 To UBound($aFolderList)-1
            $hChild=GUICtrlCreateTreeViewItem ( $aFolderList[$i], $idItem )
            _GUICtrlTreeView_SetIcon($hTV,$hChild,"shell32.dll",3)
         Next
         $aFileList=_FileListToArray( $sFullName,'*',1)
         For $i =1 To UBound($aFileList)-1
            $hChild=GUICtrlCreateTreeViewItem ( $aFileList[$i], $idItem )
            _GUICtrlTreeView_SetIcon($hTV,$hChild,"shell32.dll",0)
         Next
         _GUICtrlTreeView_Expand($hTV, $idItem)
      EndIf 
EndFunc

©gregaz
Ответить

Вернуться в «AutoIt»