TreeView

  • Tag Leute.

    Folgendes Problem.

    Ich würde gerne in eine GUI ein TreeView einbinden. Soweit ja kein problem...

    Aber; wie bekomme ich den das Trieview dazu mir den Inhalt eines Ordners anzuzeigen?


    Vielen Dank schonmal
    Carsten

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

    Einmal editiert, zuletzt von Waluev (11. Januar 2007 um 14:06)

    • Offizieller Beitrag

    Hallo!

    Boa ey^^ Ich helf dir nie wider bei icq.. du postest das ja doch wider hierrein -.-
    Naja egal.. am besten zeigst du uns mal dein Bisheriges skript, dann könnten wir es einbauen

    Hab sonst nochmal hier was:

    Spoiler anzeigen
    [autoit]

    ;~ #cs

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Include <GUIConstants.au3>
    #include <GuiTreeView.au3>
    SplashImageOn("","D:\skripts\Autoit\bilder\Initalizing.JPG","200","50","-1","-1",1)
    SoundPlay("D:\skripts\Autoit\Windowsunattend\skirpts\winsetup\Setup\Button_Sound\winSpaceSysStart.wav")
    Global $Tree
    Global $SubTree

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Browse", 243, 319, 463, 281)
    $TreeView = GUICtrlCreateTreeView(8, 8, 225, 273, BitOR($WS_BORDER,$TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
    GUICtrlSetImage(-1, "shell32.dll", 3, 4)
    GUICtrlSetImage(-1, "shell32.dll", 4, 2)
    $ok = GUICtrlCreateButton(">>>>>>>>>>>> &Weiter >>>>>>>>>>>>", 8, 288, 227, 25)
    ;~ GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $HDDrives = DriveGetDrive("FIXED")
    For $i = 1 To $HDDrives[0]
    Search($HDDrives[$i] , "*.*")
    $var = IniReadSection("Files.ini", $HDDrives[$i] & "\")
    For $h = 1 To $var[0][0]
    $IniRead = IniRead("Files.ini", $HDDrives[$i] & "\", $h, "NotFound")
    _Next($IniRead, "*.*", $h)
    Next
    Next
    SplashOff()
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1;Main Loop
    $msg = GUIGetMsg()
    If $msg = $ok Then
    Run("explorer.exe "& _GUICtrlTreeViewGetTree($TreeView,"\"))
    EndIf
    If $msg = $GUI_EVENT_CLOSE Then Exit

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Functions
    ;///////////////////////////////////////////
    Func Search($SearchPath, $FileType)
    $Item1 = GUICtrlCreateTreeViewItem(StringUpper($SearchPath), $TreeView)
    GUICtrlSetImage(-1, "shell32.dll", 8)
    $SearchPath &= "\"
    $Search = FileFindFirstFile($SearchPath & $FileType)
    If $Search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
    EndIf

    $Count = 1
    Dim $Tree[99999]
    While 1
    $File = FileFindNextFile($Search)
    If @error Then ExitLoop

    $Attrib = FileGetAttrib($SearchPath & $File)
    If StringInStr($Attrib, "D") Then
    $Tree[$Count] = GUICtrlCreateTreeViewItem($File, $Item1)
    IniWrite("Files.ini", $SearchPath, $Count, $SearchPath & $File & "\")
    $Count = $Count + 1
    EndIf
    WEnd
    FileClose($Search)
    EndFunc ;==>Search

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Next($SearchPath, $FileType, $Number)
    $Search1 = FileFindFirstFile($SearchPath & $FileType)
    If $Search1 = -1 Then
    Else
    $Count = 1
    Dim $SubTree[99999]
    While 1
    $NextFile = FileFindNextFile($Search1)
    If @error Then ExitLoop

    $Attrib = FileGetAttrib($SearchPath & $NextFile)
    If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
    If $NextFile = "." Or $NextFile = ".." Then
    Else
    $FBuffer = $SearchPath & $NextFile & "\"
    $SubTree[$Count] = GUICtrlCreateTreeViewItem($NextFile, $Tree[$Number])

    $Search2 = FileFindFirstFile($FBuffer & "*.*")
    If $Search2 = -1 Then
    ;~ msgbox(0,"","Ingen mapper")
    Else
    $Count1 = 1
    While 1
    $NextFile2 = FileFindNextFile($Search2)
    If @error Then ExitLoop
    $Attrib = FileGetAttrib($FBuffer & $NextFile2)
    If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
    If $NextFile2 = "." Or $NextFile2 = ".." Then
    Else
    GUICtrlCreateTreeViewItem($NextFile2, $SubTree[$Count])
    $Count1 = $Count1 + 1
    EndIf
    EndIf
    WEnd
    FileClose($Search2)
    EndIf
    ;msgbox(0,"","Stop " & $Count)
    $Count = $Count + 1
    EndIf
    EndIf
    WEnd
    FileClose($Search1)
    EndIf
    EndFunc ;==>_Next
    ;~ #ce

    [/autoit]


    Hab ich dir zwar auch schon geschickt, aber villeicht hilft es dir ja jetzt, wo wir nich bei icq sind^^

    Mfg Spider

  • @ GTASpider naja bzw @ all^^

    Dein Skript was du mir per ICQ geschrieben hast hat mir nix gebracht.

    Du musst mal dran denken das ich das nich alles so kapiere wie du. Wenn mir da jemand ein Skript vorlegt versteh ich das nicht so wenn mir dazu nix weiter gesagt wird. Ich nutze AutoIt nunmal erst seit November...sry


    Also nich das hier jemand denkt, dass ich hier nur poste um eine höhere Postzahl zu bekommen -.-


    @toppic

    Also es hat ja nun anscheinend was mit diesem BitOR zu tun...aba was, hab das was dazu in der Hilfe ist nich so ganz gecheckt :hammer:


    Naja vielen Dank schonmal,
    Carsten

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

    • Offizieller Beitrag

    Hallo!

    Wir sind durch DJMANU schon abgescreckt! da hat pee recht^^ Das sollte auch keine bemerkung @spamming sein, sondern ich wollte dich nur noch ma dran erinnern :P

    @topic: mit BitOr hats nix zutun! gib doch einfach mal deine bisherige gui (bzw dein bisherriges skript) hier rein.... dann könn wir dir besser helfen!

    Mfg Spider

  • So mein grandioses Skript^^

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $main = GUICreate ("XXX")
    GUICtrlCreateTreeView (10,10)
    [ Mittwoch | 20:56 ] <peethebee> _DirListToTreeView oder so

    [/autoit] [autoit][/autoit] [autoit]

    Guisetstate ()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $Msg = GUIGetMsg()
    Select
    Case $Msg = $GUI_EVENT_CLOSE

    Exit
    EndSelect
    WEnd

    [/autoit]


    Ist nicht wrkl viel^^

    naja das TrieView teil ist ja auch das Ding wo sich alles drauf aufbaut..
    Da konnte ich also noch nix weiter machen...


    Carsten


    Edit...dieses Zitat von Peethebee aus der shoutbox war nur als Gedankenstütze für mich gedacht;-)

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

    2 Mal editiert, zuletzt von Waluev (11. Januar 2007 um 17:08)