ControlTreeView Problem

  • Habe ein Problem und hoffe, ihr könnt mir helfen.

    Ich versuche ein externes TreeView anzusteuern (einen Ordner auswählen Dialog)

    [autoit]

    ControlTreeView ("Ordner suchen", "Destination Directory:", "[CLASS:SysTreeView32; INSTANCE:1]", "Expand", "Desktop|" & @UserName)

    [/autoit]


    Funktioniert bei 2 Items wunderbar (Desktop und @UserName), also das Aufklappen des Items.

    [autoit]

    ControlTreeView ("Ordner suchen", "Destination Directory:", "[CLASS:SysTreeView32; INSTANCE:1]", "Expand", "Desktop|" & @UserName & "|AppData")

    [/autoit]


    Sobald es aber 3 Items sind, geht gar nichts mehr, soll laut Hilfe aber funktionieren ("Überschrift1|H1SubItem3|H1S1SubItem1" oder "#0|#2|#0").

    Wer kann mir helfen bzw. nen Tip geben, SuFu hat leider nichts gebracht.
    Danke schon mal

    Einmal editiert, zuletzt von Diggidie (25. Januar 2011 um 20:30)

  • Hi, weil er es so nicht macht. Hab ich schon probiert.
    AppData hab ich angehängt, weil ich möchte das da etwas in einem
    weiteren Unterordner gespeichert wird.
    Die ersten beiden Ebenen lassen sich ja bearbeiten, aber dann ist schluß.
    ich müßte aber noch die dritte bzw. eine vierte Ebene ansprechen können.
    Soll ja eigentlich auch funktionieren laut Hilfe.

  • Ist AppData in dem Treeview überhaupt vorhanden? Falls es vorhanden sein sollte, dann versuch mal etwas anderes (z.B. "Desktop|" & @UserName & "|Bilder"). Und wieso editierst du deinen Beitrag, nachdem ich dich auf einen Fehler hingewiesen habe? Das ist doch irgendwie irreführend für alle die erst später auf diesen Beitrag stoßen. :huh:

  • Hatte beim schreiben ein ) versehentlich nicht gelöscht, deshalb edit, sorry.
    Das haut alles nicht hin. Komme einfach nicht über die zweite Ebene hinaus.
    Hab mir nun ne andere Lösung gebaut, in dem ich einen temporären Ordner
    auf dem Desktop erstelle und diesen dann, nachdem dort gespeichert
    wurde, entsprechend verschiebe. Funktioniert (weil ja nur zwei Ebenen).
    Ist zwar etwas umständlich, aber was soll´s.
    Trotzdem vielen Dank für Deine Unterstützung name22.
    Lg.....

  • Guten Morgen,

    ich habe etwas rumprobiert, und mir scheint es so zu sein, dass man nur bereits sichtbare\expandierte Items in einem Zug expandieren kann. In jedem Fall sollte es aber in mehreren "Etappen" klappen:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    $HGUI = GUICreate("TreeView")
    $HTV = GUICtrlCreateTreeView(20, 20, 360, 330)
    $HROOT = GUICtrlCreateTreeViewItem("Desktop", $HTV)
    $HSUB1 = GUICtrlCreateTreeViewItem("User", $HROOT)
    $HSUB2 = GUICtrlCreateTreeViewItem("AppData", $HSUB1)
    For $I = 1 To 3
    GUICtrlCreateTreeViewItem("Datei" & $I, $HSUB2)
    Next
    $Btn1 = GUICtrlCreateButton("Expand", 20, 360, 100, 30)
    $Btn2 = GUICtrlCreateButton("Collapse", 280, 360, 100, 30)
    GUISetState()
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Btn1
    ControlTreeView($HGUI, "", "SysTreeView321", "Expand", "Desktop")
    ControlTreeView($HGUI, "", "SysTreeView321", "Expand", "Desktop|User")
    ControlTreeView($HGUI, "", "SysTreeView321", "Expand", "Desktop|User|AppData")
    Case $Btn2
    ControlTreeView($HGUI, "", "SysTreeView321", "Collapse", "Desktop")
    EndSwitch
    WEnd

    [/autoit]